Проектирование БД с нуля (как ?)

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Проектирование БД с нуля (как ?)

Сообщение sequester »

Всем привет.
Я новенький.
Создал свой блог по туториалу, примерно понял, что к чему.
Только вот с базами толком опыта нет.
Пожалуйста, поделитесь ссылками, где почитать о проектировании БД.
Т.е. хотелось бы такую схему самому делать http://yiiframework.ru/doc/blog/ru/start.design
Надеюсь на понимание.
Joseph Jevelin
Сообщения: 339
Зарегистрирован: 2012.01.06, 22:07

Re: Проектирование БД с нуля (как ?)

Сообщение Joseph Jevelin »

Вот неплохие ссылки из моих закладок:
-- Первая (создание таблиц)
-- Вторая
-- Третья

Главное попытаться понять основы, дальше будет легче. Это не для MySQL, но каждая SQL похожа друг на друга. Переквалифицироваться будет не тяжело.
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

спасибо.
кто то еще желает ? (=
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

Вы немного не поняли.
я не просил чтива по теории, я просил чтива о философии проектирования
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: Проектирование БД с нуля (как ?)

Сообщение esche »

sequester писал(а):Вы немного не поняли.
я не просил чтива по теории, я просил чтива о философии проектирования
раз, два - и там, и там.. и "для новичков".. и "по-взрослому".. на выбор.. и с отзывами..
Можно начать с википедии, или со статей вроде http://habrahabr.ru/blogs/refactoring/129195/
Практические задачи можно порешать на http://sql-ex.ru/ (не совсем проектирование, но помогает и в понимании запросов и в понимании структуры)
Удачи в освоении.
...
Аватара пользователя
because
Сообщения: 689
Зарегистрирован: 2010.09.30, 22:01

Re: Проектирование БД с нуля (как ?)

Сообщение because »

esche писал(а):
sequester писал(а):Вы немного не поняли.
я не просил чтива по теории, я просил чтива о философии проектирования
раз, два - и там, и там.. и "для новичков".. и "по-взрослому".. на выбор.. и с отзывами..
Можно начать с википедии, или со статей вроде http://habrahabr.ru/blogs/refactoring/129195/
Практические задачи можно порешать на http://sql-ex.ru/ (не совсем проектирование, но помогает и в понимании запросов и в понимании структуры)
Удачи в освоении.
ткнув на первую ссылку, я прослезился
RTFM !
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

пасиб.
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

Вобщем спасибо, почитал, примерно понял.
Появились вопросы:
1. Где должны быть связи. Либо только в базе? Или и в базе и в AR ?
2. Если в базе не будет связей через ключи, могу я пользоваться так http://yiiframework.ru/doc/guide/ru/database.ar ?
3. Когда выбирать, когда пользовать AR, а когда RAR ?
esche
Сообщения: 1054
Зарегистрирован: 2010.11.24, 03:39

Re: Проектирование БД с нуля (как ?)

Сообщение esche »

sequester писал(а):Вобщем спасибо, почитал, примерно понял.
Появились вопросы:
1. Где должны быть связи. Либо только в базе? Или и в базе и в AR ?
2. Если в базе не будет связей через ключи, могу я пользоваться так http://yiiframework.ru/doc/guide/ru/database.ar ?
3. Когда выбирать, когда пользовать AR, а когда RAR ?
1. Первым делом, связи должны быть "в голове". Если связи будут в базе, в AR они попадут "автоматически" при генерации CRUD. Ну и целостность базы - как "бонус". Но для работы AR их наличие в базе не обязательно.
2. да. Можно даже и так http://yiiframework.ru/doc/guide/ru/database.arr , только прописывать "придется" ручками
3. если есть реляции - удобнее использовать реляционную :) Читать http://yiiframework.ru/doc/guide/ru/database.arr

p.s. чтоб лучше понять смысл AR, можно попробовать сделать выборку на "чистом PHP" или при помощи DAO в Yii.. к примеру тех же POST->комментарии (или актер-фильмы) и с использованием AR. Это не говоря про плюшки вроде beforeSave и валидации
...
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

благодарю, всё ясно.
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

никто не подскажет, что значит ?

Код: Выделить всё

ON DELETE CASCADE ON UPDATE RESTRICT
а то не нашёл, чтобы по русскому объяснялось, всё какие то термины заумные.
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: Проектирование БД с нуля (как ?)

Сообщение TM123 »

Действие по установленным связям,

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

Второе тоже самое что и NO ACTION, т.е. если в связанных таблицах имеется запись с соответствующим значением внешнего ключа, то операция обломается с ошибкой.
Аватара пользователя
BuCeFaL
Сообщения: 447
Зарегистрирован: 2010.03.17, 21:22
Откуда: Kiev
Контактная информация:

Re: Проектирование БД с нуля (как ?)

Сообщение BuCeFaL »

sequester писал(а):Вы немного не поняли.
я не просил чтива по теории, я просил чтива о философии проектирования
гугл
реляционные базы данных и нормальные формы
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

спасибо за ответы
Jampire
Сообщения: 207
Зарегистрирован: 2011.01.28, 11:45
Откуда: Гомель
Контактная информация:

Re: Проектирование БД с нуля (как ?)

Сообщение Jampire »

TM123 писал(а):Второе тоже самое что и NO ACTION, т.е. если в связанных таблицах имеется запись с соответствующим значением внешнего ключа, то операция обломается с ошибкой.
Не тоже самое. NO ACTION позволит выполнить операцию в связанных таблицах, но данные в текущей таблице изменены не будут.
Изображение
Человек, говорящий, что это невозможно сделать, не должен мешать тому, кто это делает.
TM123
Сообщения: 608
Зарегистрирован: 2011.06.09, 11:18

Re: Проектирование БД с нуля (как ?)

Сообщение TM123 »

но данные в текущей таблице изменены не будут
Именно так оно и будет, т.к. данные изменены не будут, то нарушится целостность и это приведет к ошибке.
SPolischook
Сообщения: 1
Зарегистрирован: 2012.01.09, 18:43

Re: Проектирование БД с нуля (как ?)

Сообщение SPolischook »

sequester писал(а):спасибо.
кто то еще желает ? (=
Задал на днях тот же вопрос - как спроектировать БД. Понял, что для того чтобы сделать лучше чем у других нужно посмотреть как это сделано у других. Я для примера рекомендую посмотреть организацию БД известных CMS.
Аватара пользователя
sequester
Сообщения: 95
Зарегистрирован: 2012.01.09, 16:20
Откуда: Донецк, Украина

Re: Проектирование БД с нуля (как ?)

Сообщение sequester »

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

кстати, у вордпресса вообще связей нет (:
Ответить