Comments 63
Я вижу — он откинулся на стул справа и с улыбкой смотрит в монитор (так и хочется сказать, в iMac). Я опасносте?
Просто и со вкусом, мне бы такую в проект.
Ничего сложного, в общем-то. Вообще, приятно смотреть на хорошо спроектированную БД, а то иногда такого насмотришься, что волосы дыбом встают.
А цвета-то какие гламурненькие))
А логический уровень нету?
Наредкость понятная и маленькая, я думал там все хуже
Все красиво и аккуратно, а в чем схему делали? :)
Все красиво и аккуратно, а в чем схему делали? :)
DbDesigner отличная вещь! :)
Нде, посмотрел на свою курсовую по БД и понял, что ещё учиться и учиться.
Похоже на мой курсач)
Ничего удивительного и интересного не обнаружил. Правда, предаставлял что-то по сложнее и навароченне, но на самом, то деле что проще и понятнее то и првильнее.
Никак не могу понять, почему timestamp хранят в char(14), а не в int.
Увидел схему БД wiki, и вспомнил про свою потребность. Господа, подскажите пожалуйста бесплатный софт для проектирования БД по Mac OS. Mysql Workbench Mac не подходит. «Мутная» и достаточно глючная софтина. Кроме возможности создание схем от программы ничего не требуется. Заранее спасибо.
когда делали проект на движке mediawiki я напечатал её на 4х листах А4 и склеил в кучу и повесил на стену. довольно удобно
Подскажите такую же симпатичную программку для рисования табличек PostgreSQL.
Кто то там сказал про «приятно смотреть на хорошо спроектированную БД». Честно говоря не согласен. Например таблица oldimages, в состав первичного ключа входит варчар, ну или в таблице image пк только варчар. Может это фича канешна, но буду благодарен если кто разъяснит.
Не вижу там первичного ключа вообще в этой таблице
самая верхняя строчка в описании таблиц подчеркнута и рядом нарисован ключ
CREATE INDEX /*i*/oi_usertext_timestamp ON /*_*/oldimage (oi_user_text,oi_timestamp);
CREATE INDEX /*i*/oi_name_timestamp ON /*_*/oldimage (oi_name,oi_timestamp);
CREATE INDEX /*i*/oi_name_archive_name ON /*_*/oldimage (oi_name,oi_archive_name(14));
CREATE INDEX /*i*/oi_sha1 ON /*_*/oldimage (oi_sha1);
Где тут первичный ключ?
CREATE INDEX /*i*/oi_name_timestamp ON /*_*/oldimage (oi_name,oi_timestamp);
CREATE INDEX /*i*/oi_name_archive_name ON /*_*/oldimage (oi_name,oi_archive_name(14));
CREATE INDEX /*i*/oi_sha1 ON /*_*/oldimage (oi_sha1);
Где тут первичный ключ?
Согласен.
Насколько я понимаю в вики все просто и замечательно кэшируется поэтому на такие вещи как немного замедленный поиск по базе можно забить.
Как вариант они хранят там гуид для работы базы в кластере (чисто догадка — с mysql почти не работал)
Насколько я понимаю в вики все просто и замечательно кэшируется поэтому на такие вещи как немного замедленный поиск по базе можно забить.
Как вариант они хранят там гуид для работы базы в кластере (чисто догадка — с mysql почти не работал)
И каким образом использование имени файла в качестве первичного ключа является признаком плохого проектирования?
Думал, что структура БД у такого ресурса сложнее, но не тут то было. Молодцы проектировщики.
Много таблиц это не значит сложно. Оптимальная структура из минимума таблиц это как раз и сложнее сделать чем неоптимально 250 таблиц налепить.
Если учитывать, что для внесения изменения в существующие таблицы MediaWiki системным администраторам MediaWiki приходится проводить танцы с бубном (смена master-сервера, обновление баз данных на всех slave'ах, ещё одна смена, и так три раза), то стремление разработчиков толково делать схему понятно
А оправдана ли расстановка префиксов в названиях полей если это не внешние ключи?
э, не понял только почему дату хранят в временные параметры в char(14) (хранят как строку?), а не к примеру datetime, чтобы использовать в дальнейшем операции с датами?
Из SQL:
— The MySQL table backend for MediaWiki currently uses
— 14-character BINARY or VARBINARY fields to store timestamps.
— The format is YYYYMMDDHHMMSS, which is derived from the
— text format of MySQL's TIMESTAMP fields.
— — Historically TIMESTAMP fields were used, but abandoned
— in early 2002 after a lot of trouble with the fields
— auto-updating.
— — The Postgres backend uses DATETIME fields for timestamps,
— and we will migrate the MySQL definitions at some point as
— well.
— The MySQL table backend for MediaWiki currently uses
— 14-character BINARY or VARBINARY fields to store timestamps.
— The format is YYYYMMDDHHMMSS, which is derived from the
— text format of MySQL's TIMESTAMP fields.
— — Historically TIMESTAMP fields were used, but abandoned
— in early 2002 after a lot of trouble with the fields
— auto-updating.
— — The Postgres backend uses DATETIME fields for timestamps,
— and we will migrate the MySQL definitions at some point as
— well.
А кто
«Нажимабельно; если долго смотреть на схему, то можно увидеть призрак Джимми Уэлса.»
Он разве скончался? о_О
Он разве скончался? о_О
Уфф, а я то думал, что в дебрях mysql-кластера wiki-педии тысячи таблиц, сотни слейв-серверов…
А тут прям на экран почти влезает :)
Помнится у них где-то было описание сетевой архитектуры проекта, и серверов. Может кинет кто ссылку?
А тут прям на экран почти влезает :)
Помнится у них где-то было описание сетевой архитектуры проекта, и серверов. Может кинет кто ссылку?
leuksman.com/images/f/f3/Scaling_LAMP_(PDF).pdf — тут базово описывается. Сча поищу более детальные описания
meta.wikimedia.org/wiki/Servers — описание
upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikimedia-servers-2008-11-10.svg/1024px-Wikimedia-servers-2008-11-10.svg.png — схемка
wikitech.wikimedia.org/view/Main_Page — внутренний сайт системных администраторов; мало понятно, но зато наиболее актуально
upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikimedia-servers-2008-11-10.svg/1024px-Wikimedia-servers-2008-11-10.svg.png — схемка
wikitech.wikimedia.org/view/Main_Page — внутренний сайт системных администраторов; мало понятно, но зато наиболее актуально
Простите за ламерский вопрос, а что это за тип поля такой: tinytext?
А вот интересно посмотреть на схему социальной сети по подобию хабра, что бы также красиво и толково составлено. Может кто-то видел? Буду признателен если ссылочку кинете. Как раз изучаю такое.
Можно поставить livestreet.ru и посмотреть.
ну это я знаю :)
но что бы составить самому на него вот такой граф надо его изучить
но что бы составить самому на него вот такой граф надо его изучить
Есть такая штука как Reverse Engineering (так вроде пишется) в том же, описываемом здесь DbDesigner'e — это когда вы указываете параметры доступа к базе, а программка вытаскивает из нее структурную информацию и оформляет в виде вот таких вот картиночек. Очень познавательный процесс. Рекомендую :)
Кто-нибудь может что-нибудь полезное сказать, почему DBDesigner сам переименовывает поле status в status_2?
Sign up to leave a comment.
Схема БД Mediawiki (Wikipedia)