powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создал базу данных для освоения SQL
25 сообщений из 103, страница 3 из 5
Создал базу данных для освоения SQL
    #38741094
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621... как правило, заказчик - обычный тупой баран . Важно исключительно техническое задание.

Как-то так.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38741117
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1001, дружище, покажите мне другого заказчика - умного, компетентного, грамотного, - я бесплатно приму участие в его проектах.

Деградация в России имеет тотальный характер, было бы странно, если бы она касалась только разработчиков.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38741180
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257При всем богатстве идей, крайне важна фигура заказчика - человека который оценивает результат и платит гонорар (в универе это научный руководитель). Именно его хотелки должны реализовываться в первую очередь (любой каприз за ваши деньги). Проектировщик может только предупредить о последствиях и подстелить соломки, если в военное время или по особому распоряжению синус будет равен двум.
Думаю можно придумать виртуального заказчика. Дело в том, что я ищу работу в сфере программирования и вижу, что на всех собеседованиях меня довольно серьезно спрашивают про SQL.
Т. ч. пусть у нас заказчик будет потенциальным работодателем, которыму данную работу можно показать как некое портфолио.
Ну а я сам в процессе создания БД и СУБД довольно серьезно освою синтаксиси разного рода элементы SQL. Возможно даже какие-то нюансы.

Итак Заказчик - Потенциальный работодатель, который хочет увидеть систему, которая ему понравится и на основе чего он сделает вывод, что ТС, в целом, понимает, что такое проектирование БД, грамотный запросы, оптимизация и др. нюансы. Т. е. если есть какая-то возможность навернуть систему, чтобы показать, что я этой темой владею, а можно оставить простенько, но чтобы все работало, то лучше систему искусственно немного навернуть. Ну и разумеется, чтобы в этих наворотах был практический смысл какой-то, например, если бы это было реальное задание написать БД и СУБД для очень большой библиотеки, сделать все основное и оставить себе некоторые заделы на возможный апгрейд.

MasterZivOn 08.09.2014 17:03, ChA wrote:

> Т. е. получается, если по аналогии с ООП, то
> class People
> class Readers extends People
> class Writer extends People
>
> +1

Да -100 !


Поясните пожалуйста, знак минуса. Я не совсем понимаю, тут какой-то сарказм, '-' это на самом деле тире или и вам так не нравится, прокомментированное Вами.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38741203
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeronemoMasterZivOn 08.09.2014 17:03, ChA wrote:

> Т. е. получается, если по аналогии с ООП, то
> class People
> class Readers extends People
> class Writer extends People
>
> +1

Да -100 !
Поясните пожалуйста, знак минуса. Я не совсем понимаю, тут какой-то сарказм, '-' это на самом деле тире или и вам так не нравится, прокомментированное Вами.Не волнуйтесь, у Вас нормальное решение. Это стандартный механизм subtyping-а, применяемый при проектировании. Можете погуглить "subtyping database" или почитать, например - это для полноты картины. Впрочем, вариант с 2 таблицами, предложенный SERG1257 тоже нормальный. Всё зависит от задачу, которую Вы перед собой поставили. Можно, при желании, расширить модель и до степени, подразумеваемой MasterZiv, расширив понятия книги до любого источника, а автора до любого множества неизвестных сущностей, типа авторов Библии. Сейчас Вам решать, на каком уровне остановиться. В реальной задаче Вам всё равно придется "скакать" от ТЗ и, дай Бог, что оно будет вменяемым.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38741671
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeronemoSERG1257При всем богатстве идей, крайне важна фигура заказчика - человека который оценивает результат и платит гонорар (в универе это научный руководитель). Именно его хотелки должны реализовываться в первую очередь (любой каприз за ваши деньги). Проектировщик может только предупредить о последствиях и подстелить соломки, если в военное время или по особому распоряжению синус будет равен двум.
Думаю можно придумать виртуального заказчика. Дело в том, что я ищу работу в сфере программирования и вижу, что на всех собеседованиях меня довольно серьезно спрашивают про SQL.
Т. ч. пусть у нас заказчик будет потенциальным работодателем, которыму данную работу можно показать как некое портфолио.
Ну а я сам в процессе создания БД и СУБД довольно серьезно освою синтаксиси разного рода элементы SQL. Возможно даже какие-то нюансы.

Итак Заказчик - Потенциальный работодатель, который хочет увидеть систему, которая ему понравится и на основе чего он сделает вывод, что ТС, в целом, понимает, что такое проектирование БД, грамотный запросы, оптимизация и др. нюансы. Т. е. если есть какая-то возможность навернуть систему, чтобы показать, что я этой темой владею, а можно оставить простенько, но чтобы все работало, то лучше систему искусственно немного навернуть. Ну и разумеется, чтобы в этих наворотах был практический смысл какой-то, например, если бы это было реальное задание написать БД и СУБД для очень большой библиотеки, сделать все основное и оставить себе некоторые заделы на возможный апгрейд.

MasterZivOn 08.09.2014 17:03, ChA wrote:

> Т. е. получается, если по аналогии с ООП, то
> class People
> class Readers extends People
> class Writer extends People
>
> +1

Да -100 !


Поясните пожалуйста, знак минуса. Я не совсем понимаю, тут какой-то сарказм, '-' это на самом деле тире или и вам так не нравится, прокомментированное Вами.
да, так не нравится.
плоский уже писал.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38741674
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
не "плоский", а "почему"
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742065
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621как правило, заказчик - обычный тупой баранМой пойнт был не в интеллектуальных способностях заказчика, а в том что даже в рамка форума было много Ценных Указаний и Важных Замечаний. В процессе работы их будет не меньше, причем они будут противоречить друг другу. Значит какие-то из них придется игнорировать, какие-то принимать к исполнению. Кроме того в процессе работы будет немало "серых зон" допускающих двоякое толкование. Для этого и нужно обоснование - "со слов заказчика".
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742070
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SERG1257guest_20040621как правило, заказчик - обычный тупой баранМой пойнт был не в интеллектуальных способностях заказчика, а в том что даже в рамка форума было много Ценных Указаний и Важных Замечаний. В процессе работы их будет не меньше, причем они будут противоречить друг другу. Значит какие-то из них придется игнорировать , какие-то принимать к исполнению. Кроме того в процессе работы будет немало "серых зон" допускающих двоякое толкование. Для этого и нужно обоснование - "со слов заказчика".

Самое правильное - давать начальнику-барану подмахивать документы, содержащие его текущие галлюцинации. В дальнейшем, по ходу долгой пьесы, будет проще с ним разговаривать, имея эти документы под рукой.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742073
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_200406211001, дружище, покажите мне другого заказчика - умного, компетентного, грамотного, - я бесплатно приму участие в его проектах.

Деградация на шарике - имеет глобальный характер,...


ну - Я

*))
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742188
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Мой пойнт был не в интеллектуальных способностях заказчика

Мой, собственно, тоже. Интеллект - не самая важная характеристика и не антоним "барана".

> даже в рамка форума было много Ценных Указаний и Важных Замечаний

"Даже" - лишнее слово. В отсутствие формальной задачи обсуждение имеет скорее развлекательный характер. Причём, складывается впечатление, что высказавшиеся книг в принципе никогда не читали, а о научных библиотеках никогда не слышали. "Перевод", "периодическое издание", "стереотипное издание", "сборник" и пр. - понятия из другого измерения. Ничего личного, просто мысли вслух.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742189
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> ну - Я

Спасибо, смешно. Оценку "баран" вам нужно ещё заработать, вы в самом начале длинного пути.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742195
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621... обсуждение имеет скорее развлекательный характер. Причём, складывается впечатление, что ...вслух.


нечего добавить
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742202
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> ну - Я

Спасибо, смешно. Оценку "баран" вам нужно ещё заработать, вы в самом начале длинного пути.

пожелай мне удачи


..и я никому не хочу ставить ногу на грудь...
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742303
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> пожелай мне удачи

Вы, видимо, здесь недавно. Пожеланий нет, есть пара рекомендаций. Научитесь незнакомым людям говорить "вы". Это поможет избежать неожиданных конфузов разного рода. Не лезьте в обсуждения тем, где вы ни ухом, ни рылом. По тем же причинам.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38742308
1001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> пожелай мне удачи

Вы, видимо, здесь недавно. Пожеланий нет, есть пара рекомендаций. Научитесь незнакомым людям говорить "вы". Это поможет избежать неожиданных конфузов разного рода. Не лезьте в обсуждения тем, где вы ни ухом, ни рылом. По тем же причинам.

это из песни
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38743219
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, думаю надо мне на чем-то остановиться, все0таки время идет. На данный момент моя БД выглядит так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table Writer (id int(10) auto_increment,  firstName varchar(20),  lastName varchar(20), fullName varchar(60), info varchar (1000), primary key (id));

create table Reader (id int(10) auto_increment, firstName varchar(20),  lastName varchar(20), isMale boolean, phone varchar (20), primary key (id));

create table Book (id int(10) auto_increment, authorId int(10), bookName varchar(100), numberOfBooks int(10) default 1, 
    currentNumberOfBooks int(10) default 1, physicalCondition boolean default true, primary key (id), foreign key (authorId) references Writer(id) );

create table TakenBooks (id int(10) auto_increment, bookId int(10), readerId int(10), timeBookGot date not null, timeBookReturned date,
    foreign key (bookId) references Book (id), foreign key (readerId) references Writer (id), primary key (id));



Минимальный набор процедур
1. В библиотеку поступали определенная книга (возможно несколько экземпляров). Тут мы заодно проверяем автора и если его нету, то создаем и его
2. Библиотекарь создает нового автора (может показаться бессмысленной процедурой, т. к. п. 1 предусматривает создание авторов, но думаю такая функция все же должна быть).
3. В библиотеку пришел новый читатель - создаем ему аккаунт.
4. Библиотекарь проверяет наличие книги в библиотеке (по просьбе читателя, в основном)
5. Читатель берет книгу
6. Читатель возвращает книгу
7. Библиотекарь смотрит статистику, какие книги берут (эта функция нужна, библиотекарь мог какие-то книги дозаказать)
8. Библиотекарь списывает книгу.
9 и т. д.

В общем я ршил, что Будет ни одна, ни три, а 2 таблицы - читатели и писатели. Также я ввел понятие physicalCondition для книги. По дефолту все книги приходят новыми. Но со временем некоторые приходят в не очень удовлетворительное состояние и библиотекарь помечает ее. В будущем он закажет такую книгу (не знаю, как часто в библиотеках происходят обновления, раз в неделю допустим), а эту спишет. Так-с... ммм... нам все равно, куда оуходят списанные книги (домой библиотекарю или в детский дом), но есть интересный вопрос, надо ли нам где-то сохранять информацию, что книга списана.
Вопрос нескольких авторов тоже надо как-то решить.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38743241
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeronemoВопрос нескольких авторов тоже надо как-то решить.

есть такой вариант
create table WriterOfBook (id int(10) auto_increment, bookId int(10), authorId int(10), foreign key (bookId) references Book (id), foreign key (authorId) references Writer(id), primary key (id));
Можно будет делать 3 записи, если 3 автора, т. е.
Книга1, Автор1
Книга1, Автор2
Книга1, Автор3
Книга2, Автор4

а в таблице Book получается убрать упоминание об авторе... хм... или ввести поле info, куда можно записать в произволной форме и авторов и краткое содержание и издателсьво. хм.. Или издательство сохранять отдельно (чтобы смотреть книги каких издательств выходят чаще из строя)... (думаю вслух) или же забить на этот нюанс и для начала сделать то, что есть.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38743386
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь реализуйте поддержку каждого экземпляра поштучно.
Кроме того реализуйте массовую загрузку книг из, скажем старой версии программы для библиотекаря.
И напоследок задача предложенная DarkMaster - каталог для поиска нужной книги.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38743460
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Geronemo physicalCondition для книги. По дефолту все книги приходят новыми. Но со временем некоторые приходят в не очень удовлетворительное состояние и библиотекарь помечает ее. В будущем он закажет такую книгу (не знаю, как часто в библиотеках происходят обновления, раз в неделю допустим), а эту спишет.

Удаляю понятие physicalCondition, ибо тогда придется в таблице Book удалять поля к-во книг и к-во книг в наличии, а вместо этого для каждой книги делать свою запись.

Хотя можно ввести еще одну таблицу, что-то типа архива, куда перемещаются книги в неудовлетворительном состоянии в процессе списания их. В этой таблице могут находиться книги, как уже перемещенные в детский дом, выброшенные, так и лежащие на отдельной полке. И в принципе эту полку можно также рассматривать, когда мы хотим найти книгу.
Алгоритм
if (книга в наличи)
выдаем книгу();
else if (книга списана, но физически все еще присутствует в библиотеке)
выдаем списанную книгу();
Или зачем все так усложнять, хм.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38743480
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

У Вас в таблице Book смешаны издание и экземпляр издания. Name - это атрибут издания, а physicalCondition - атрибут экземпляра.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38743757
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo, база конечно примитивная. Для учебных целей сойдёт конечно. Но для нормального использования нихрена не получится. Главная ошибка в том, что писатели считаются авторами книги. На самом деле авторами физически существующей книги являются ИЗДАТЕЛЬСТВА. А писатели являются авторами ПРОИЗВЕДЕНИЯ. Таких понятий в Вашей базе нет вообще (хотя мысль про издательства маленько Вас посетила, но записывать его в какое-то общее поле - это явно не путь к истине).
Надо продумать наличие в БД издательств и произведений, чтоб БД библиотеки была более-менее приемлемая.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38744175
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.FontaineНадо продумать наличие в БД издательств и произведений, чтоб БД библиотеки была более-менее приемлемая.

С точки зрения пользователя библиотеки, ему частенько фиолетово, какой у книги издатель. Приходим, просим книгу Кнута. Вы помните, кто и когда ее издавал? Сведения об издательстве конечно нужны, но не приоритетны. И запрос более удобно строить не как "покажите мне книги издательства NNN", а как "покажите мне книги Кнута (если можно - с издательствами)".
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38744276
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster, полностью согласен, что пользователю фиолетово даже не то что кто издал книгу, ему название книги фиолетово. Он просто хочет прочитать "Бесы" Достоевского, а кто издал, издал ли отдельным изданием или в полном собрании сочинений или в в журнале каком (Роман-газета, например раньше выпускалась, сейчас не знаю, не интересовался) посетителю библиотеки (ну в частности, мне лично) вообще по барабану.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38744469
Ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ы
Гость
Mr.Fontaine,

Есть стандарт библиографического описания, им и надо руководствоваться при проектировании БД.
...
Рейтинг: 0 / 0
Создал базу данных для освоения SQL
    #38744971
Mr.Fontaine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ы, думается мне эту фразу лучше обратить топикстартеру. Ибо как он запишет к себе в базу например, такую книгу
Код: plaintext
Н.Н.Носов Приключения Незнайки и его друзей /Игорь Носов. Остров Незнайки – М. : ЭКСМО-пресс, 2001.
С двумя повестями Николая Носова "Приключения Незнайки и его друзей" и "Незнайка в Солнечном городе", а также повестью "Остров Незнайки" Игоря Носова
или какие проивзедения можно прочитать взяв двухтомник сочинений Зинаиды Гиппиус.
Код: plaintext
1.
2.
Том 1 Без талисмана, Победители, Сумерки духа
Том 2 Чертова кукла(Жизнеописание в 33-х главах), Роман-царевич(История одного начинания), Чужая любовь. 
...
Рейтинг: 0 / 0
25 сообщений из 103, страница 3 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создал базу данных для освоения SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]