|
|
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
DarkMasterGeronemo, Таблицы "авторы" и "читатели" - суть одно и тоже. Можно совместить данные в одной таблице, добавив флаг ISREADER или ISAUTHOR. Заодно решишь вопрос - "может ли читатель быть писателем и наоборот" и избежишь дублирования данных. кроме этого, авторов у книги может быть много, а тут только одна. по читателям и писателям - атрибуты у них очевидно разные будут, по авторам в сторону автобиографии, по читателям в сторону идентификации личности и установления места жительства и способов оплаты штрафов. Там паспорт и т. п. . Паспорт - еще одна долгая история, паспортов там дофига всяких... У авторов кстати имен много, псевдонимы... так что если и сводить в одно читателей и писателей, то надо использовать наследование и сильно думать... Еще очевидно надо использовать экземпляры книг, у каждой книги есть инвентарный номер и т.д. можно и нужно также охватить хранение книг, где, шкаф, пленка, место и так далее. тоже отдельная долгая история. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 08:04 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257, Потому что это РАЗНЫЕ сущности - писатели пишут книги, а читатели пользуются библиотекой. Общего у них только принадлежность к людям. на самом деле общего у них еще меньше. писатели - не люди. общего у них с людьми, что они также могут идентифицироваться полным именем , но на самом деле не обязательно человека. и также как у людей неуникально. еще, я вспомнил, что псевдоним может быть один на группу авторов (Козьма Прутков), и индивидуально на автора (Илья Ильф и Евгений Петров, второе - псевдоним). Так что я уже против наследования авторовов и людей, надо наследовать авторов и псевдонимы. а вообще, библиотека - достаточно сложная предметная область. можно делать частную библиотеку а не публичную, будет немного проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 08:19 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Geronemocreate table Book (id int(10) auto_increment, authorId int(10), bookName varchar(100), numberOfBooks int(10) default 1, primary key (id), foreign key (authorId) references Person(id)); не очень понимаю, почему в таблице книг находится id автора, ибо ходят слухи, что не все книги пишутся в одиночку, а некоторые вообще под редакцией неких лиц, которые авторами-то и не являются собственно. Geronemocreate table TakenBooks (id int(10) auto_increment, bookId int(10), readerId int(10), foreign key (bookId) references Book (id), foreign key (readerId) references Person (id), primary key (id)); Дата взятия книги как уже обращали внимание, просто необходима, ибо при существующей схеме второй раз книжку читателю не взять на руки. Ну и конечно, в схеме библиотеки должны присутствовать не только писатели и читатели. Я там ещё библиотекарей постоянно встречаю. Вечно снуют туда-сюда. И однако не лишним было бы знать кем выдана книга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 08:29 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Предлагаю участникам дискуссии слегка притормозить - это УЧЕБНЫЙ проект, автор выбрал библиотеку как знакомую ему (внешне) сферу деятельности. Поэтому, Geronemo, - модифицируй базу чтобы учитывать множество авторов у книги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 08:49 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
DarkMasterSERG1257. Вот недостатки навскидку 1 увеличили вероятность ошибки (оптимизатор не заругается на левую таблицу) 2 убрали возможность дать разные права 3 блокировка таблицы (типа индексы перестоить) блокирует обе таблицы 4 полный скан будет читать лишние страницы 1) Давайте сначала доберемся до SQL запросов, ага? Тогда и будем учить оптимизатор. 2) О каких разных права вы говорите? 3) Стоп. Я из 2-х таблиц сделал одну. Где вторая? Или вы сами с собой спорите? И перестройка индекса - оно конечно да, операция ежечасная. 4) А поподробнее можно? При правильных запросах и индексах и полный скан? P.S. А можно все-таки ответить на вопрос - вот есть два человека - Азимов и Брэдбери - оба они авторы - могут ли они читать произведения друг друга? P.P.S. Интересно, как с таким подходом вы будете каталог библиотеки с иерархией жанров строить ;) брадцы, вы об чём...) ТС - на 'этой земле' делает первые шаги... пусть поспотыкается набъёт шишек.. и это - правильно и полезно же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 08:52 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
1001, если внимательно прочитать сообщения, то в выделенной Вами цитате разговор далёк от библиотеки автора темы. Они там реальный случай с объединением кучи таблиц рассматривали. Так что обсуждение перестройки индексов там вполне уместно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 09:14 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Mr.Fontaine1001, если внимательно прочитать сообщения, то в выделенной Вами цитате разговор далёк от библиотеки автора темы. Они там реальный случай с объединением кучи таблиц рассматривали. Так что обсуждение перестройки индексов там вполне уместносогласен но ТС-то клюет 'навсё' мой посыл был именно в этом смысле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 09:33 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257Предлагаю участникам дискуссии слегка притормозить - это УЧЕБНЫЙ проект, автор выбрал библиотеку как знакомую ему (внешне) сферу деятельности. Поэтому, Geronemo, - модифицируй базу чтобы учитывать множество авторов у книги. Ну и что? На учебных проектах и нужно учиться анализировать предметную область. А именно этого автор топика и не сделал сходу. Очевидная мысль о множестве авторов у книги ему в голову не пришла, хотя в IT книги большей частью написаны именно в соавторстве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 10:29 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
MasterZivНу и что? На учебных проектах и нужно учиться анализировать предметную область. А именно этого автор топика и не сделал сходу. Очевидная мысль о множестве авторов у книги ему в голову не пришла, хотя в IT книги большей частью написаны именно в соавторстве. Я тут недавно в рамках процесса повторения/вспоминания синтаксиса java делал небольшой проект. Начал с того, что консольное приложение посылает данные Сервлету, тот должен запуститься и вернуть какой-то ответ. Далее я стал записывать запросы в файл. Потом у меня появились запросы разных типов, для которых нужен свой обработчик. Потом я стал сохранять данные в БД. Потом я перестроил БД так, чтобы разбить запросы от клиентов на 3 стадии - запрос получен и сохранен, запрос (т. е. пакет запросов данного типа) передан на обработку, запрос обработан и отправлен в архив. Для этого пришлось вводить несколько потоков, а также решать вопрос целостности данных. Ну и потом я переделал проект под maven и JPA. И это при том, что с java я когда-то работал достаточно много. 1-я половина ТЗ была мне дана знакомым, а потом я уже сам развернулся. Здесь же с SQL я знаком на уровне select ... from .... where, create, update ... where. Т. ч. я решил начать с малого, чтобы просто хоть как-то работало. В процессе я все равно все переделаю и надобавляю кучу разных вариантов. Сейчас у меня голова от них пухнет. Может быть несколько авторов, могут быть однофамильцы, книги могут быть не возвращены, причем вероятно есть какие-то злостные должники и т. д. Также возможны разные библиотекари, как внимательные и ответственные, так и нет. На данный момент БД, я немного подумав, решил обратно разделить писателей и читателей. В конце концов, если писатель придет в библиотеку что-нибудь взять, мы можем записать его как читателя. Ведь в жизни так и происходит. Я написал книгу, она лежит в библиотеке. Я прихожу туда и мне говорят, вы тут в первый раз ? Я говорю Да и на меня заводят карточку или запись в БД, если библиотека современная. Никто же меня не спрашивает, а не автор ли я какой-либо книги, давайте вашу карточку пометим особым цветом, а я ведь могу еще и соврать или писать под псевдонимом. В общем пусть будут пока и Читатели и Писатели. Более того, я подумываю у писателей объединить firstName и lastName в fullname. Иначе как мне именовать Эрик Мария Ремарка и Френсис Скотт Фитцжеральда. Это реально проблема, с которой я уже столкнулся. Хотя можно оставить firstName и lastName, а fullname по дефолту firstName + lastName и при созданиии Писателя пользоваться не insert into, а процедурой addWriter (firstName, lastName, fullName (maybe null)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 13:18 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
GeronemoВ общем пусть будут пока и Читатели и Писатели. Более того, я подумываю у писателей объединить firstName и lastName в fullname. Иначе как мне именовать Эрик Мария Ремарка и Френсис Скотт Фитцжеральда. Это реально проблема, с которой я уже столкнулся. Хотя можно оставить firstName и lastName, а fullname по дефолту firstName + lastName и при созданиии Писателя пользоваться не insert into, а процедурой addWriter (firstName, lastName, fullName (maybe null)); Что-то типа того Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 13:38 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257DarkMaster А зачем плодить сущности изначально? Потому что это РАЗНЫЕ сущности - писатели пишут книги, а читатели пользуются библиотекой. Общего у них только принадлежность к людям. Да-а-а-а ... я чувствую вы научите новичка разрабатывать БД ... А сущность "сотрудник библиотеки" вы в ещё одной таблице будете хранить ? Вы так договоритесь до того, что книги с зелёной обложкой вы будете хранить в одной таблице, а книги с синей обложкой - в другой. Не, ну а чо, обложки-то разного цвета... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 13:52 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Geronemo, Постараюсь обьяснить свою идею общей таблицы для писателей/читателей и прочего: - все они имеют общие аттрибуты (ФИО, пол и т.п), использование которых диктуется только необходимостью (ну пусть будет таблица PEOPLE) - все могут выступать в минимум 2-х ипостасях - и как писатель и как читатель - книга имеет ссылку минимум на одного автора, или на нескольких авторов (соотношение один ко многим) - журнал приема-выдачи - хранит ссылку на читателя и книгу (соотношение один к одному) - псевдонимы, коллективные псевдонимы - это дополнительная таблица, которая содержит связку один ко многим (псевдоним - ссылки на авторов) - ссылка на автора, ссылка на читателя - есть ID из PEOPLE. Как минимум такой подход позволяет манипулировать только одной сущностью. Например изначально была запись "Э. Ремарк". Мы только в одном месте изменим ее на "Эрих Мария Ремарк" и у нас во всех результатах запросов появится именно Эрих Мария Ремарк. Вне зависимости от того, писатель это, читатель, член авторского коллектива или рецензент. И нам не нужно тараканить по базе, меняя эту инфу в разных таблицах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 14:51 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
DarkMaster, может тогда сделать так ? 1. Таблица People, в ней как можно больше данных о человеке, кто, откуда, пол и т. д. и т. п. 2. Таблица Readers, здесь id, id из people, возможно еще какие-то поля, типа читательского рейтинга (добросовестный или говнюк) 3. Таблица Writer, тоже id, id из People, Псевдоним, может что-то еще. Т. е. получается, если по аналогии с ООП, то class People class Readers extends People class Writer extends People ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 15:38 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
GeronemoMasterZivНу и что? На учебных проектах и нужно учиться анализировать предметную область. А именно этого автор топика и не сделал сходу. Очевидная мысль о множестве авторов у книги ему в голову не пришла, хотя в IT книги большей частью написаны именно в соавторстве. Я тут недавно в рамках процесса повторения/вспоминания синтаксиса java делал небольшой проект. Начал с того, что консольное приложение посылает данные Сервлету, тот должен запуститься и вернуть какой-то ответ. Далее я стал записывать запросы в файл. Потом у меня появились запросы разных типов, для которых нужен свой обработчик. Потом я стал сохранять данные в БД. Потом я перестроил БД так, чтобы разбить запросы от клиентов на 3 стадии - запрос получен и сохранен, запрос (т. е. пакет запросов данного типа) передан на обработку, запрос обработан и отправлен в архив. Для этого пришлось вводить несколько потоков, а также решать вопрос целостности данных. Ну и потом я переделал проект под maven и JPA. И это при том, что с java я когда-то работал достаточно много. 1-я половина ТЗ была мне дана знакомым, а потом я уже сам развернулся. Здесь же с SQL я знаком на уровне select ... from .... where, create, update ... where. Т. ч. я решил начать с малого, чтобы просто хоть как-то работало. В процессе я все равно все переделаю и надобавляю кучу разных вариантов. Сейчас у меня голова от них пухнет. Может быть несколько авторов, могут быть однофамильцы, книги могут быть не возвращены, причем вероятно есть какие-то злостные должники и т. д. Также возможны разные библиотекари, как внимательные и ответственные, так и нет. На данный момент БД, я немного подумав, решил обратно разделить писателей и читателей. В конце концов, если писатель придет в библиотеку что-нибудь взять, мы можем записать его как читателя. Ведь в жизни так и происходит. Я написал книгу, она лежит в библиотеке. Я прихожу туда и мне говорят, вы тут в первый раз ? Я говорю Да и на меня заводят карточку или запись в БД, если библиотека современная. Никто же меня не спрашивает, а не автор ли я какой-либо книги, давайте вашу карточку пометим особым цветом, а я ведь могу еще и соврать или писать под псевдонимом. В общем пусть будут пока и Читатели и Писатели. Более того, я подумываю у писателей объединить firstName и lastName в fullname. Иначе как мне именовать Эрик Мария Ремарка и Френсис Скотт Фитцжеральда. Это реально проблема, с которой я уже столкнулся. Хотя можно оставить firstName и lastName, а fullname по дефолту firstName + lastName и при созданиии Писателя пользоваться не insert into, а процедурой addWriter (firstName, lastName, fullName (maybe null));просто многабукаф бз очков - не осилю.. ну еще красиваяБбиблиотекарша может ббыть и читателем и писателем и библиотекарш0й (Ц)...На учебных проектах и нужно учиться анализировать предметную область.. ТС - шахматист..) типа - затеял п0ртейку кот-я точно доведет его до - ченибудь реального ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 15:56 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
GeronemoDarkMaster, может тогда сделать так ? 1. Таблица People, в ней как можно больше данных о человеке, кто, откуда, пол и т. д. и т. п. 2. Таблица Readers, здесь id, id из people, возможно еще какие-то поля, типа читательского рейтинга (добросовестный или говнюк) 3. Таблица Writer, тоже id, id из People, Псевдоним, может что-то еще. Т. е. получается, если по аналогии с ООП, то class People class Readers extends People class Writer extends People+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 16:03 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Geronemo, Ну примерно так. Т.е. есть основная инфа (таблица PEOPLE) - которая заполняется всегда, есть дополнительная инфа (доп. атрибуты), которая хранится где-то рядышком (в другой таблице) и заполняется только при необходимости. Т.о. получим, что биография Васи Пупкина нам особо не нужна, бо он не писатель, а те же данные по биографии Ремарка - могут быть интересны. Т.е. по факту мы имеем 2-х людей - Ремарка и Пупкина в таблице PEOPLE. Которые могут фигурировать как авторы в таблице BOOK2AUTHOR (книга <-> автор(ы) и которые могут фигурировать в таблице JOURNAL (book <-> reader). В дополнение мы можем завести себе AUTHOR_BIO (автор-биография), READER_BAD (штрафники) и еще кучу всякого, но по сути всегда будем знать, что любая ссылка на человека - она в таблице PEOPLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 16:19 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
> я немного подумав, решил обратно разделить писателей и читателей Плохо подумали. > я подумываю у писателей объединить firstName и lastName в fullname Ещё раз плохо подумали. > Френсис Скотт Фитцжеральд Francis Scott Key Fitzgerald. Упс, да? Видите ли, в чём проблема: если вы хотите научиться проектировать, вам нужно выбрать другой путь. Если освежить dml, - можно делать то, что вы делаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 17:16 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Получается что-то типа того, норм ? Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 17:17 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Ну полагаю можно подвести некоторые итоги для Geronemo Любая база суть модель реальной действительности. Модель может быть адекватной и не очень (одна моделька машины имеет только колеса и ездит, другая моделька имеет колеса, открывающиеся дверцы, но не ездит). В том и планида проектировщика, чтобы выбрать нужную модель, причем такую которая переживет смену мнений заказчика. Если проектировщик выбрал верно, то этого никто не заметит, а вот если ошибся, то пеняют все (как можно заблудится в трех соснах, это же очевидно). Это задача проектировщика (точнее менеджера проекта) решать когда сказать - хватит углублятся, давайте уже сделаем пилотный проект Одного правильного ответа (типа 2*2=4) не существует. Для того же наследования я знаю три разных реализации (с одной таблицей, двумя или тремя) , каждая со своими достоинствами и недостатками. И это задача проектировщика выбрать одну реализацию, котораю будет использовать достоинства и нивелировать недостатки и ответить за свой выбор (см выше). При всем богатстве идей, крайне важна фигура заказчика - человека который оценивает результат и платит гонорар (в универе это научный руководитель). Именно его хотелки должны реализовываться в первую очередь (любой каприз за ваши деньги). Проектировщик может только предупредить о последствиях и подстелить соломки, если в военное время или по особому распоряжению синус будет равен двум. Для ощущения полного цимеса, лучше проводить изменения на живой базе с данными (а лучше с большим количеством данных и жестким временем простоя). Только тогда разработчик поймет прелесть ограничений (constraint) базы (которые вернут ошибку сразу, а не неправильные данные потом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 17:57 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257Ну полагаю можно подвести некоторые итоги для Geronemo Любая база суть модель реальной действительности. Модель может быть адекватной и не очень (одна моделька машины имеет только колеса и ездит, другая моделька имеет колеса, открывающиеся дверцы, но не ездит). В том и планида проектировщика, чтобы выбрать нужную модель, причем такую которая переживет смену мнений заказчика. Если проектировщик выбрал верно, то этого никто не заметит, а вот если ошибся, то пеняют все (как можно заблудится в трех соснах, это же очевидно). Это задача проектировщика (точнее менеджера проекта) решать когда сказать - хватит углублятся, давайте уже сделаем пилотный проект Одного правильного ответа (типа 2*2=4) не существует. Для того же наследования я знаю три разных реализации (с одной таблицей, двумя или тремя) , каждая со своими достоинствами и недостатками. И это задача проектировщика выбрать одну реализацию, котораю будет использовать достоинства и нивелировать недостатки и ответить за свой выбор (см выше). При всем богатстве идей, крайне важна фигура заказчика - человека который оценивает результат и платит гонорар (в универе это научный руководитель). Именно его хотелки должны реализовываться в первую очередь (любой каприз за ваши деньги). Проектировщик может только предупредить о последствиях и подстелить соломки, если в военное время или по особому распоряжению синус будет равен двум. Для ощущения полного цимеса, лучше проводить изменения на живой базе с данными (а лучше с большим количеством данных и жестким временем простоя). Только тогда разработчик поймет прелесть ограничений (constraint) базы (которые вернут ошибку сразу, а не неправильные данные потом) стройные нозьки острый Ум.. и, главное, душа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 18:11 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
On 08.09.2014 14:18, Geronemo wrote: > В общем пусть будут пока и Читатели и Писатели. Более того, я подумываю > у писателей объединить firstName и lastName в fullname. > Иначе как мне именовать Эрик Мария Ремарка и Френсис Скотт Фитцжеральда. > Это реально проблема, с которой я уже столкнулся. А это -- две несвязанные проблемы. Объединять ли читателей и писателей, или нет, и -- именования. Такие имена могут быть и у читателей. На самом деле вообще имя в виде "Фамилия, имя, отчество" -- это специфика стран бывшего СССР. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 19:30 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
> Да-а-а-а ... я чувствую вы научите новичка разрабатывать БД ... > А сущность "сотрудник библиотеки" вы в ещё одной таблице будете хранить ? Ты абсолютно прав. Но в контексте данной темы я бы НЕ настаивал на использовании наследования и хранении в одной таблице. Я уже написал, почему. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 19:31 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
On 08.09.2014 15:51, DarkMaster wrote: > - все они имеют общие аттрибуты (ФИО, пол и т.п), использование которых > диктуется только необходимостью (ну пусть будет таблица PEOPLE) > - все могут выступать в минимум 2-х ипостасях - и как писатель и как > читатель ЕЩЁ РАЗ!! Писатель может быть не обязательно человеком. Может быть человек, может быть человек под псевдонимом, может быть коллектив, где каждый может быть под своим именем, или под псевдонимом, либо может быть коллектив, где все выступают под одним псевдонимом. Причём псевдонимом может выступать как имя, так и прозвище, или вообще абстрактная подпись. "Огненный лев", "пламенные борцы за победу революции", "Коллектив трудящихся завода Полиграфмаш" и т.п. > - книга имеет ссылку минимум на одного автора, или на нескольких авторов > (соотношение один ко многим) Книга должна ссылаться на автора через его имя или псевдоним. При этом реального автора может вообще не быть, не быть человека, стоящего за этим псевдонимом. Кстати, есть ещё и произведения с неизвестным автором, и приписываемые какому-то автору. > - журнал приема-выдачи - хранит ссылку на читателя и книгу (соотношение > один к одному) Читатели могут обычно брать по несколько книг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 19:38 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
On 08.09.2014 17:03, ChA wrote: > Т. е. получается, если по аналогии с ООП, то > class People > class Readers extends People > class Writer extends People > > +1 Да -100 ! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 19:39 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
> Любая база суть модель реальной действительности. Поправлю: модель представлений о действительности. На самом деле это важное уточнение, которое делает контекст составной частью модели. Менеджер проекта вряд ли имеет об этом представление, так что роль архитектора баз данных несколько шире, чем принято считать. > Одного правильного ответа (типа 2*2=4) не существует. Он существует в том смысле, что для выбранного подмножества контекстов есть модель, состоящая только из элементарных сущностей с атомарными атрибутами. > крайне важна фигура заказчика Никакой роли фигура заказчика не играет; как правило, заказчик - обычный тупой баран. Важно исключительно техническое задание. Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2014, 20:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38741090&tid=1540787]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 414ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...