Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Штопорит, Помогите 
:(
    Опции темы
Loki_
Дата 18.2.2004, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 13.10.2003

Репутация: нет
Всего: нет



Не могу сообразить, какаие таблицы создать и как их связать, для категорий читателей и их характеристиками-атрибутами.

Библиотечный фонд города составляют библиотеки, расположенные на территории города. Каждая библиотека включает в себя абонементы и читальные залы. Пользователями библиотек являются различные категории читателей: студенты, научные работники, преподаватели, школьники, рабочие, пенсионеры и другие жители города. Каждая категория читателей может обладать непересекающимися характеристиками-атрибутами: для студентов это название учебного заведения, факультет, курс, номер группы, для научного работника - название организации, научная тема и т.д.

P.S. Студент и школьник, поидее, должны находиться в одной таблице, но у школьника -номер школы, номер класса, а у студента -название учебного заведения, факультет, курс, номер группы и куда приписать всех остальных. В читательском билете, заполняется что-то одно либо Учиться: ЧГУ,1кур.,ИМФИ, либо Где и кем работает:___.

Заранее благодарен!!!
PM MAIL   Вверх
Wladislav
Дата 18.2.2004, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.10.2003

Репутация: нет
Всего: нет



Ежели пользовать memo(blob)-поле, то в одном и том же поле можно держать характеристики разных категорий...
Но можно и в разных таблицах - зависит от того чем привык работать...
PM MAIL   Вверх
Cashey
Дата 19.2.2004, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: нет
Всего: 60



Так в чем проблема? Создаешь таблицу с полями: имя_читателя; его_категория (поле цифровое и создаешь для себя справочник категорий, если их много - создаешь справочнуб таблицу); другие поля с атрибутами.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
AntonSaburov
Дата 19.2.2004, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Есть два крайних варианта:
1. Сделать одну большую таблицу со всевозможными полями и сделать много view для просмотра нужных групп пользователей. Удобно, но таблица большая и некоторый SQL могут иметь ограничения на размер записи. Т.е. общая сумма длин полей не может превышать какой-то величины.

Можно конечно для разных категорий иметь разную информацию в одних и тех же полях (Например для студента - номер группы, для школьника - класс), но думаю, что это может породить много проблем.

2. Сделать общую таблицу и потом делать дополнительные, которые будут иметь ссылку на основную. В основной само собой есть признак, какую таблицу (или даже таблицы) надо использовать. Можно тоже написать много view для удобства работы. Но делать сложные запросы будет сложнее - больше таблиц, связей и т.д.

Может быть можно использовать какие-либо особенности используемого SQL-сервера. Или вообще использвать объектно-ориентированную СУБД.

Если бы я этим занимался - то скорее всего выбрал бы вариант 2. Но это только IMHO.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1037 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.