|
|
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Ребята, давайте жить дружно. Когда я дорасту, я верну понятие физического состояния книги, также отделю сущность произведение от издания, введу понятие издательства, добавлю возможность нескольких авторов у одного произведения, нескольких произведений у одной книги (а что если это сборник сказок и их штук 100 в книге) и т. д. Но пока что даже с моей примитивной БД я час бился вот над такой процедурой create procedure FindPopularBooks () begin select Book.bookName, Writer.fullName, count(*) from Book, Writer, TakenBooks where TakenBooks.bookId = Book.id and Book.authorId = Writer.id group by bookId order by count(*) desc; end$$ есть еще пара процедур, которые я хотел бы, чтобы они были и чтобы они работали. Когда все будет готово, перейду из 2-го класса во 3-й. (1-й класс был у меня, когда я только и знал - как делать select, insert и update). И так постепенно закончу "школу". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 17:21 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Во-первых: это не процедура, а запрос (то что он оформле в виде процедуры это его личное дело) Во-вторых: форматирование ужасно. В-третьих: Book.bookName, Writer.fullName должны быть в группировке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 17:46 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257В-третьих: Book.bookName, Writer.fullName должны быть в группировке Эээ, зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 17:52 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин Эээ, зачем? Потому что у ТС синтаксическая ошибка. Я предположил что автору надо Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 18:01 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257Кот Матроскин Эээ, зачем? Потому что у ТС синтаксическая ошибка. Я предположил что автору надо Код: sql 1. 2. 3. 4. 5. 6. чем результат будет отличаться от просто Код: sql 1. 2. 3. Какой смысл нахождения в группировке неключевых атрибутов сущности, когда там уже есть первичный ключ этой сущности (ну или, как в данном случае, равное ему значение из другого поля выборки)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 18:35 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин чем результат будет отличаться от простоТем что мой запрос выполнится, а его вернет синтаксическую ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 18:49 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257Кот Матроскин чем результат будет отличаться от простоТем что мой запрос выполнится, а его вернет синтаксическую ошибку. а, из-за селекта - ну да, тогда надо, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 18:54 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257, мой тоже выполняется. Нету никаких синтаксических ошибок. И еще я не очень понял вас по поводу форматирования. Если вы про Ентер и табуляцию, то можно сделать и так Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 19:00 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Кстати, похоже наступило время усложнения БД, т. к. я создал 4 таблицы и кучу процедур (по названиям примерно понятно, чем они занимаются). Все работает. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 19:04 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Geronemo, А у Вас какой сервер? Если он умеет оптимизировать такую запись запроса - это хорошо, хоть и не соответствует стандарту SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 19:05 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, MySQL Но если вы считаете, что правильнее перечислить все поля в group by, то я так и сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2014, 13:41 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Geronemo, сорри, конечно вернемся сюда 16546062 за это время у вас в 'мировоззрении' чото поменялосьже мож тогда обозачимся 'сначала' сорри, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2014, 14:36 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Я тут нарисовал схему БД (т. е. часть ее, посвященная книгам). В центре внимания у нас находится "Литературное произведение". Он связано 1toMany с таблицей "Писатели", т. к. одно произведение могут написать несколько авторов. И также оно связано отношением ManyToMany с таблицей "Книги", т. к. в одной книге могут быть много произведений и точно также 1 книга может состоять из нескольких томов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 11:39 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
GeronemoОн связано 1toMany с таблицей "Писатели", т. к. одно произведение могут написать несколько авторов. А один автор не может написать несколько произведений? Разумееется, нужно many-to-many. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 11:56 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинА один автор не может написать несколько произведений? Разумееется, нужно many-to-many. Да, конечно. Спс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 12:08 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
В моей модели таблица авторы и книги никак не пересекаются. Они связаны только через таблицу "литературное произведение". Вам нравится такая модель ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 12:10 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Что значит "нравится"? Это правильно, они и не должны быть связаны. Более того, понятие "книга" размыто и неконкретно, нужно понятие "издание". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:34 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
И еще «экземпляр издания» — тот, что на полке стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:54 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Как вам такая реализация. Я завел 2 таблицы, которые занимаются связями ManyToMany. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 14:50 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь, подтвердите плиз, правильные ли я завел таблицы и правильно ли их связал. А то у меня из-за сомнений проект на паузе стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 17:04 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Geronemo Кто-нибудь, подтвердите плиз, правильные ли я завел таблицы и правильно ли их связалДак напиши по русски что сказать-то хотел. А то 4 совершенно правильный ответ на вопрос 2*2, но неверный на вопрос 1+1. Я бы посоветовал не связываться с изданием (пособие по укладке парашюта, издание второе исправленное) - в первом приближении можно считать новое издание новой книгой, но реализовать поэкземплярый учет. Для начала определите атрибуты книги (или издания) и экземпляра книги. Потом перепишите весь SQL в рамках новой концепции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 17:41 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
SERG1257, я и не стал связываться с изданием. Я создал 5 таблиц, которые, как мне кажется соответствуют рисунку чуть выше. softwarer написал мне, что у меня все правильно на рисунке. Вопрос в том, правильно ли я сделал, что завел 5 именно таких таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 17:45 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
Вкратце Писатель имеет атрибуты - имя, фамилия, полное имя(оно же псевдоним) и краткую биографию (поле инфо) Литературное произведение имеет название. Книга имеет также название, количество книг в библиотеке и текущее количество. На эти 3 понятия я хавел 3 таблицы. + 2 таблицы, которые связывают 1 и 2 таблицу и 2 и 3. Эти таблицы состоят из своего id и id соответствующих таблиц, которые указывыают, какие именно авторы писали это произведение, какие произведения написал этот автор и аналогично для таблицы, связывающей произведения и книги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 17:52 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
GeronemoКто-нибудь, подтвердите плиз, правильные ли я завел таблицы и правильно ли их связал. А то у меня из-за сомнений проект на паузе стоит. судя по этому - 16614727 вы - бежите 'впереди себя' .. Вы - определитесь в Сутях от самого - простого 'случая' типа что такое Книга(....) - Автор(....) - и тд начните просто в визарде бзо-всяких криэйттэйбл произведение : автор потом - добавляйте с каждой стороны и пробуйте - пробуйте до просветления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 16:16 |
|
||
|
Создал базу данных для освоения SQL
|
|||
|---|---|---|---|
|
#18+
GeronemoВ моей модели таблица авторы и книги никак не пересекаются. Они связаны только через таблицу "литературное произведение". Вам нравится такая модель ? Книга - физический носитель, вероятно. У нее, а не только у произведений, есть авторы. Например, художник оформил обложку) В общем, все очень сыро у Вас, пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 16:26 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38745525&tid=1540787]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 179ms |

| 0 / 0 |

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