Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.04;
Скачать: CL | DM;

Вниз

Посоветуйте книгу   Найти похожие ветки 

 
cosinus   (2008-11-07 12:30) [0]

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


 
MsGuns ©   (2008-11-07 12:38) [1]

Проектирование БД штука весьма нетривиальная, поэтому "что-нибудь не сильно сложное" посоветовать крайне трудно. Мне в свое время очень помог Кнут, но его книги не так просты для новичка.


 
TUser ©   (2008-11-07 12:40) [2]

> Мне в свое время очень помог Кнут

А где у него про БД?

Из непростого, пожалуйста - Дейт.


 
Правильный$Вася   (2008-11-07 13:07) [3]

если есть первичное понимание отношений, кортежей и т.п., то лучше поискать книжки с фразами "первая нормальная форма 1NF, вторая нормальная форма 2NF, третья нормальная форма 3NF" и т.д.


 
MsGuns ©   (2008-11-07 13:08) [4]

Сортировка, поиск, кортежи, деревья - это все по-твоему не имеет отношение к БД ?


 
TUser ©   (2008-11-07 13:12) [5]

Это имеет отношение к реализации движка БД. А автора, имхо, интересует, как конкретную предметную область описать в виде таблиц, что проиндексировать, где какие ключи, где как нормализовать, ...


 
cosinus   (2008-11-07 13:14) [6]


> Правильный$Вася   (07.11.08 13:07) [3]

Нету понимания (


> TUser ©   (07.11.08 13:12) [5]

Именно так.


 
MsGuns ©   (2008-11-07 14:50) [7]

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

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

Единственное, что я могу советовать уверенно - ни в коем случае не брать в качестве учебного пособия авторов типа Фаронова или Архангельского.


 
TUser ©   (2008-11-07 14:55) [8]

> Приступать к проектированию БД не зная основ алгоритмов хранения и обработки данных в ЭВМ - это ...

а еще надо знать английский язык, основы синтаксиса какого-нибудь алгоритмического и много еще чего. Но автор спросил про проектирование БД, так вот ему Дейт, а учебник по алгоритмам и английскому он не просил. Имхо.


 
Sergey13 ©   (2008-11-07 14:58) [9]

> [7] MsGuns ©   (07.11.08 14:50)

ИМХО. Так можно всю жизнь изучать основы компьютерного мирозданья и так и не спроектировать ни одного склада. 8-)


 
MsGuns ©   (2008-11-07 15:06) [10]

>TUser ©   (07.11.08 14:55) [8]
>Но автор спросил про проектирование БД, так вот ему Дейт, а учебник по алгоритмам и английскому он не просил. Имхо.

 Я ничего не имею против этого известного и уважаемого товарища. Но у него, насколько помню, много посвящено "как", но слишком мало "зачем".

>Sergey13 ©   (07.11.08 14:58) [9]
>ИМХО. Так можно всю жизнь изучать основы компьютерного мирозданья и так и не спроектировать ни одного склада. 8-)

Видишь ли, конечно, можно любому первокласснику объяснить как запрограммировать телефонный справочник, особенно если дать все необходимые компоненты для доступа к таблице, выборки, сортировки и т.д. Но какова цена будет этому его "справочнику"?
ИМХО, не стОит браться за дело лишь бы сделать его кое-как. По крайней мере никакого удовлетворения это "работа" тебе не доставит. Не говоря уже о пользе окружающим :)


 
Sergey13 ©   (2008-11-07 15:15) [11]

> [10] MsGuns ©   (07.11.08 15:06)

> ИМХО, не стОит браться за дело лишь бы сделать его кое-как.

ИМХО, за дело надо браться. Или НЕ браться. Первая БД все равно не будет здоровской хоть все умные книжки перечитай. Все равно опыт наживать надо.
Но программирование чем и прекрасно - всегда можно начать сначала и переделать все к чертовой матери незаметно для заказчика (и за его деньги). 8-)


 
MsGuns ©   (2008-11-07 15:19) [12]

>TUser ©   (07.11.08 14:55) [8]
>Но автор спросил про проектирование БД, так вот ему Дейт, а учебник по алгоритмам и английскому он не просил. Имхо.

 Я ничего не имею против этого известного и уважаемого товарища. Но у него, насколько помню, много посвящено "как", но слишком мало "зачем".

>Sergey13 ©   (07.11.08 14:58) [9]
>ИМХО. Так можно всю жизнь изучать основы компьютерного мирозданья и так и не спроектировать ни одного склада. 8-)

Видишь ли, конечно, можно любому первокласснику объяснить как запрограммировать телефонный справочник, особенно если дать все необходимые компоненты для доступа к таблице, выборки, сортировки и т.д. Но какова цена будет этому его "справочнику"?
ИМХО, не стОит браться за дело лишь бы сделать его кое-как. По крайней мере никакого удовлетворения это "работа" тебе не доставит. Не говоря уже о пользе окружающим :)


 
Брюнетка ©   (2008-11-07 15:19) [13]

> [9] Sergey13 ©   (07.11.08 14:58)
> ИМХО. Так можно всю жизнь изучать основы компьютерного мирозданья
> и так и не спроектировать ни одного склада. 8-)

На изучение основ нужна целая жизнь?
"Не верю" (с)


 
Sergey13 ©   (2008-11-07 15:34) [14]

> [13] Брюнетка ©   (07.11.08 15:19)

Тут в том и вопрос - что считать необходимыми и достаточными основами для конкретной задачи?


 
Брюнетка ©   (2008-11-07 15:40) [15]

> [14] Sergey13 ©   (07.11.08 15:34)

Видимо, речь о том, нужно ли проектировщику БД знать основы программирования.


 
Sergey13 ©   (2008-11-07 15:54) [16]

> [15] Брюнетка ©   (07.11.08 15:40)

Можно даже глубже - основы какого программирования? 8-)


 
Jeer ©   (2008-11-07 15:58) [17]


> Задача то есть, а в голове по этому вопросу - каша полная.


Начни описывать своими словами - глядишь, вместе до чего-либо удовлетворительного и дойдем.


 
Anatoly Podgoretsky ©   (2008-11-07 16:58) [18]

> Брюнетка  (07.11.2008 15:19:13)  [13]

Две?


 
Sergey Masloff   (2008-11-07 23:31) [19]

MsGuns ©   (07.11.08 14:50) [7]
>Приступать к проектированию БД не зная основ алгоритмов хранения и >обработки данных в ЭВМ - это изначально наделать кучу концептуальных >ошибок, без них невозможно понять даже сути нормализации - зачем она >нужна и как работает.
Фигня. Вчера это работало не так как сегодня а сегодня не так как будет работать завтра. Так что представлять неплохо но совсем необязательно

>Например, в каких случаях данные о сущности нужно разбивать на >несколько таблиц, а в каких достаточно одной коммулятивной.
Это в книжках пишут когда достаточно одной а когда нужно разбивать? И прямо однозначно если а и б => разбивать если в и г => достаточно одной?

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

>Единственное, что я могу советовать уверенно - ни в коем случае не брать >в качестве учебного пособия авторов типа Фаронова или Архангельского.
Ну тут нет критериев отнесения к типу "Фаронов" или типу "Архангельский". Кстати была такая книга Шумаков - Фаронов базы данных в delphi 3 - могу сказать что книга просто отличная.


 
Альф   (2008-11-08 02:31) [20]

Практически в любой книжке по "кокретной реализации в программировании" БД есть несколько глав по проектированию.
Если только основы - то можно почитать Конолли "Базы даных. Проектирование".


 
cosinus   (2008-11-08 11:09) [21]

Мнения разделились, однако названия книг и авторов называются и более того, описываются, где как, где зачем, и это "есть хорошо". Теперь, с вашего позволения, по пунктам.

> MsGuns ©   (07.11.08 14:50) [7]
Полностью согласен с тем, что не понимая сути объекта автоматизации, писать одному(то есть без аналитиков и т.д.) любую БД под нее - это обрекать себя на исправление ошибок (вплоть до полного переписывания) на N лет. Однако, как мне кажется, если подойти к этому более-менее нормально, то через эти N лет программист будет вполне прилично знать и сам объект и БД. Несмотря на свою явную (на мой взгляд) неправильность, данный метод тоже вроде имеет право на существование и некоторые его прошли. Но это не то, что мне надо.

> MsGuns ©   (07.11.08 15:06) [10]
Я хочу знать зачем, но мне на данном этапе достаточно кратких отсылок от как к зачем. Может я человек такой, но для себя(то есть при самообучении), мне гораздо труднее сначала прочитать весь "фундамент", а потом браться за проектирование и написание простенькой БД. Мне проще и интереснее (что нималоважно, иначе просто плюну и все) идти как бы "ступеньками".

> TUser ©   (07.11.08 14:55) [8]
Именно. В этой ветке непреодолимо хочется с тобой во всем соглашаться ))))
Я знаю и основы и англ. язык (правда он вполне достаточен, чтобы понять по MSDN что и как, но я не думаю, что будет комфортно учиться, читая книгу написаннаю на нем)

> Sergey Masloff   (07.11.08 23:31) [19]
Видел я эту книгу, кстати где-то в эл.виде. Попробую и ее поднять.

Всем спасибо за помощь, буду искать и "читать до просвлетвления".
PS Задача стоит передо мной и заказчик тоже я. просто как то неприлично постоянно сталкиваться по работе с БД и не понимать самых основ. Хочу спроектировать и написать для начала простенькую БД, а потом, как сказал Sergey13 © глядишь и дело пойдет. Просто не хотелось бы начинать с халтуры. Еще раз спасибо всем.


 
Mystic ©   (2008-11-08 14:03) [22]

Кстати,
Шумаков Фаронов Delphi 5. Руководство разработчика баз данных
http://depositfiles.com/ru/files/5306192

Знаю двух практиков, с хорошим знанием предметной области, которым эта книга послужило стартом.


 
cosinus   (2008-11-08 14:29) [23]


> Mystic ©   (08.11.08 14:03) [22]

Спасибо.


 
Petr V. Abramov ©   (2008-11-08 21:29) [24]


> cosinus   (08.11.08 11:09) [21]

по проектированию - Дейт.


> MsGuns ©   (07.11.08 14:50) [7]

ну прочитает человек, например, Кнута. Увидит в контексте СУБД слово B-tree Index. И подумает, что это двоичное дерево, про которые так много у Кнута читал.
Ать облом, похоже, да не то, ибо http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref966
Вывод: "основ алгоритмов хранения и обработки данных в ЭВМ" надо читать в документации по конкретной СУБД.


 
Petr V. Abramov ©   (2008-11-08 21:37) [25]


> Petr V. Abramov ©   (08.11.08 21:29) [24]

кстати, занятный глюк IE7 или OraCLE.COM
если нажать ссылку из [24], покажет не internal structure of indexes, а что угодно.
Если открыть окошко, скопировать туда ссылку, нажать зеленую стрелочку - все нормально


 
tesseract ©   (2008-11-08 22:00) [26]


> B-tree Index. И подумает, что это двоичное дерево, про которые
> так много у Кнута читал.


У Кнута вроде не одно самоупорядочивающеяся есть. B-tree кстати и в NTFS используеться.  Но Pervasive всё равно лучшую реализацию имеет. И причем с 198-х.


 
Petr V. Abramov ©   (2008-11-10 00:03) [27]


> Но Pervasive всё равно лучшую реализацию имеет.

Pervasive - это Btrieve++, который может выехать только на гениальности работы Novell`а с дисками


 
Брюнетка ©   (2008-11-10 07:54) [28]

> [18] Anatoly Podgoretsky ©   (07.11.08 16:58)
> Две?

Для эстонца?
-)



Страницы: 1 вся ветка

Текущий архив: 2009.01.04;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.011 c
2-1227608592
Brabus
2008-11-25 13:23
2009.01.04
отсеивать ComboBox.Items


2-1227619523
snake-as
2008-11-25 16:25
2009.01.04
Работа с файлами


2-1227180191
Андрей Алекс.
2008-11-20 14:23
2009.01.04
Отправка почты


15-1225451619
KSergey
2008-10-31 14:13
2009.01.04
Беда с компьютером: винчестер постоянно занят


15-1226057775
Ros (r01)
2008-11-07 14:36
2009.01.04
Как запретить dropdown на combobox?