|
|
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Нужен тест для тестирования знаний разработчиков в проектировании структуры БД. Нормальные формы, целостность сущностей и ссылок, внешнии ключи - в общем все, что должен знать опытный проектировщик\программист, использующий реляционные БД. В интернете бесплатных опросов не нашел. Кто-нибудь знает, где можно такие вопросы найти? Или может кто свои вопросы предложит (с вариантами ответов)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 17:16 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
A тупо взять учебники/пособия "Введение в базы данных" от именитых авторов (типа Ульмана, Конноли, Дейта) и смотреть разделы "вопросы и упражнения" к каждой главе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 17:28 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Была такая мысль. Но там (в Дейте в частности) не в виде тестов, а в виде вопросов и упражнений. Значит: 1. Не все упражнения подойдут, т.к. слишком длинные 2. Выдумывать самому ответы надо Если ничего другого не подвернется, то по книгам и буду шерстить. Н мы же все ленивые :) Всем хочется сразу готовое из инета скачать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 17:32 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Особенно интересен второй пункт... :) Как писал .gc , а тупо прочитать Дейта ? :) Двойная польза ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:44 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
anjey, ты можешь мне помочь? Привести один вопрос из Дейта и написать к нему 3-5 вариантов ответа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:50 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Как обеспечить единственность записи в таблице?Очень занятная задачка (есть пути 3 решения данной задачи,причем один-без написания кода). Но данный форум читают многие,поэтому через день после написания задачки она станет бессмыслена,так что в публикации хитрых задач пмсм даже смысла нет ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 17:57 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
авторНо данный форум читают многие,поэтому через день после написания задачки она станет бессмыслена,так что в публикации хитрых задач пмсм даже смысла нет ... И ничего плохого. По крайней мере человек будет знать, как это сделать. Итак вопрос: Как сделат так, чтобы каждая запись в таблице была уникальной? Варианты ответа: 1). Ввести уникальное поле и сделать его первичным ключом #3). Сделать индексы по всем полям. 2). Включить все поля записи в первичный ключ #4). Реализовать триггер, проверяющий уникальность записи 5). Сделать все поля таблицы, которые не входят в первичный ключ, внешним ключом Правильные ответы помечены # - Насколько вопрос сформулирован корректно? Если считаете, что некорректно, предложите свои варианты. - Насколько ответы сформулированы корректно? Если считаете, что некорректно, предложите свои варианты. Если считаете, что ответ, помечанный как правильный, на самом деле неверен или верен частично, объясните пожалуйста почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 18:09 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
> Итак вопрос С такими знаниями Вам рановато заниматься тестированием кого бы то ни было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 20:43 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Итак вопрос С такими знаниями Вам рановато заниматься тестированием кого бы то ни было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 20:52 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
В чем проявляется недостаток моих знаний? Господа, почему нельзя сразу исправить ошибку? Ведь в посте было четко написано: - Насколько вопрос сформулирован корректно? Если считаете, что некорректно, предложите свои варианты. - Насколько ответы сформулированы корректно? Если считаете, что некорректно, предложите свои варианты. Если считаете, что ответ, помечанный как правильный, на самом деле неверен или верен частично, объясните пожалуйста почему. Очень большая просьба к тем кто может исправить ответы, или написать свои варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 23:13 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Уточнение: под уникальностью понимается, что ни одно из поле базы данных не совпадает с другим таким полем в другой записи. Таким образом вопрос формулируется так: Как сделать так, чтобы каждая запись в таблице была уникальной по каждому полю, составляещему запись. Приношу свои извинения тем, кто не понял вопрос из формулировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 23:17 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Ага, заметил свою ошибку. Это была опечатка. В свете предыдущего уточнения вопроса ,варианты ответа: 1). Ввести уникальное поле и сделать его первичным ключом 2). Сделать индексы по всем полям. #3). Включить все поля записи в первичный ключ #4). Реализовать триггер, проверяющий уникальность записи 5). Сделать все поля таблицы, которые не входят в первичный ключ, внешним ключом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 23:19 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
> Господа, почему нельзя сразу исправить ошибку? Потому что Вы не вопрос задаете, а предлагаете сделать за Вас Вашу работу. Если предполагается, что это коммерческий софт - разместите объявление в форуме "Работа" и наймите тех, кто может такую работу выполнить. Если это open source разработка, опишите задачи подробнее и заведите проект на sf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2006, 23:45 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Я предлагаю нам всем вместе сделать работу, результатами которой смогут воспользоваться все остальные. Заметьте, я тоже принимаю в этом активное участие. Хорошо, если в данном сообществе это не принято, сделаю такой тест сам. После чего он будет выложен здесь для тех, кому также интересен этот вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 09:19 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
вопрос не так понят: как сделать чтобы в таблице была ТОЛЬКО ОДНА!! запись, а не обеспечение уникальности каждой записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 09:28 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Спасибо, Shtock, понял. В таком случае вопрос звучит так: Как сделать так, чтобы в таблице в любой момент времени содержалась только одна запись (эта логика должна быть реализована на стороне БД)? Варианты ответа: #1. Сделать триггер на добавление с соотвествующей логикой. 2. Сделать у первичного ключа таблицы значение по умолчанию. У меня мысли кончились :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 09:53 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Ну что ж попробуем. При разработке БД для отдела кадров, было принято решение: Для таблицы содержащей данные о сотрудниках, в качестве первичного ключа использовать номер и серию паспорта. Правильно ли такое решение? 1) Да. Паспорт однозначно характеризует владельца #2)Нет. Т.к возможна замена паспорта 3)Нет. Необходимо добавить дату рождения в первичный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:30 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Табельный номер организации всегда уникальный - налоговая так требует... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:42 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Paul SacksТабельный номер организации всегда уникальный - налоговая так требует... Мы берём в данном случае гипотетический случай ;-) Тем более , если вы посмотрите, я специально ничего не сказал про табельный номер, который в является сурогатным ключом и правильным решением задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:50 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
@Babai, замечательно! Продолжим: Для увеличения скорости работы вы денормализовали вашу базу данных и создали несколько колонок с избыточными данными. С помощью какого механизма вы предотвратите рассинхронизацию данных? #1. Триггер 2. Хранимая процедура 3. Представление (view) 4. Ограничения (constraint) 5. Курсор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 10:51 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Paul SacksТабельный номер организации всегда уникальный - налоговая так требует... это не совсем так, т.е. конечно в каждый определенный момент он уникален, но табельные номера могут меняться - нет гарантий, что не будет совпадений (директивно это никак не регулируется) т.е. вчера у Иванова табельный номер 43008, сегодня 56009... вполне вероятно (не исключено) что под номером 43008 значится уже Петров, илим будет значиться в дальнейшем в ходе генерации и присвоения нового табельного номера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:00 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Еще вопросик: БД содержит следующие таблицы: Product (name, idnumber, price, shipweight, bulklevel ) Sales (customerid, idnumber, date, quantity, tax ) Customer (customerid, poc, phone, address, email, zip ) Таблица sale содержит по одной строке на каждую продажу. Какие внешние ключи необходимо сделать для поддержания целостности БД? 1. idnumber, quantity #2. customerid, idnumber 3. quantity 4. idnumber 5. tax, quantity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:00 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Глядя на вопросы и варанты ответов почему-то вспомнилось Классика кун-фуСначала ты не знаешь, что нельзя делать то-то Потом знаешь, что нельзя делать то-то Потом ты понимаешь, что иногда таки можно делать то-то Ну а потом ты понимаешь, что помимо того-то существует еще шестьдесять шесть способов добиться желаемого, и все из них практически равноправны. Когда тебя спрашивают "как мне добиться желаемого", ты быстро перебираешь в уме эти шестьдесять шесть способов, прикидываешь то общее, что в них есть, вздыхаешь и говоришь: "вообще-то, главное — гармония." На вопрос обиженных учеников: "а как ее добиться?", ты говоришь: "никогда не делайте то-то". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:35 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
To Alexey Kudinov: И это пройдет (C) Соломон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:38 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Вот Вы и попались:)Триггер - гы-гы,можете напороться на мутацию+обращение к данным (кроме текущей записи) таблицы на которую этот триггер и повешен потенциально опасны. Решение такое: надо сделать dummy_column number(1) default 0 not null unique check (dummy_column=0), т.к. уникальность на 0, а данное условие позволяет вставить запись только с полем 0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:55 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
И еще вопрос: Вы разрабатываете базу данных, которая должна строг оподдердивать целостность данных по следующим правилам: 1. Если менеджер удален, все ссылки, которые ранее указывали на менеджера в таблице сотрудников должны быть установлены в NULL. 2. Колонка Title в таблице сотрудников должна содержать значение из таблицы должностей. 3. Ни одна запись из таблицы должностей не может быть удалена, пока остается хотя бы одна связанная запись в таблице сотрудников. 4. Важная информация о пользователе, такая как адрес, телефон, дата начала работы, всегда должна быть заполнена в таблице сотружников. 5. Колонка Manager в таблице сотрудников должна ссылаться на колонку EmployeeID в этой же таблице Все эти правила могут быть реализованы на уровне базы данных. Какое из них может быть реализовано ТОЛЬКО с помощьюд триггеров? 1. 1 2. 2 3. 3 4. 4 5. 5 Какой ответ верный? Я думаю, что 1. Но может и ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:55 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Morning, а вы бывали на пресловутом BrainBench? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 11:58 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Здесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте. Давайте пройдёмся по индексам У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех? 1)добавление данных 2)удаление данных #3)обновление данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:00 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
авторВот Вы и попались:)Триггер - гы-гы,можете напороться на мутацию+обращение к данным (кроме текущей записи) таблицы на которую этот триггер и повешен потенциально опасны. 1. Разве нельзя в триггере заблокировать таблицу на запись, проверить существование единственной записи, выполнить необходимую логику, разблокировать таблицу? 2. Как можно предложеное Вами решение записать в виде, независимом от версии сервера БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:01 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
То .gc: Бывал, последние вопросы взяты именно оттуда из демонстраций к тестам и из бета-тестов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:02 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
То .gc: Относительно Вашего совета по тому, что взять вопросы из учебника. Я посмотрел Дейта. Там практически все вопросы в виде упражнений. То есть подразумевают развернутый ответ. Переделка их в вопросы теста по трудозатратам эквивалентна написанию вопроса теста с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:06 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
1.Ручные блокировки - потенциальное зло. 2.таки мое решение - записывается в самом стандартном ddl для при создании таблицы.Там нет никакой СУБд-специфики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:08 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
Попробовал сделать новый вариант вопроса, но что-то с вариантами ответа туго. Да и описать верный ответ не в терминах SQL не получается :( Как сделать так, чтобы в таблице в любой момент времени содержалась только одна запись (эта логика должна быть реализована на стороне БД)? Можно выбрать несколько ответов Варианты ответа: #(Оценивается в полбалла, т.к. решение потенциально опасно) 1. Сделать триггер на добавление с соотвествующей логикой. 2. Сделать уникальные индексы по каждому полю #3. Ввести dummy_column number(1) default 0 not null unique check (dummy_column=0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 12:14 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
@BabaiЗдесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте. Давайте пройдёмся по индексам У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех? 1)добавление данных 2)удаление данных #3)обновление данных Всегда ли? И если всегда, то почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2006, 21:14 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
hoarfrost @BabaiЗдесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте. Давайте пройдёмся по индексам У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех? 1)добавление данных 2)удаление данных #3)обновление данных Всегда ли? И если всегда, то почему? Простите, вы видите ошибку в вопросе? Или вы хотите увеличить количество вариантов ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 11:31 |
|
||
|
Помогите с вопросами по проектированию структуры БД для разработчиков
|
|||
|---|---|---|---|
|
#18+
@Babai hoarfrost @BabaiЗдесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте. Давайте пройдёмся по индексам У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех? 1)добавление данных 2)удаление данных #3)обновление данных Всегда ли? И если всегда, то почему? Простите, вы видите ошибку в вопросе? Или вы хотите увеличить количество вариантов ответа. Всегда ли верен третий ответ? И если всегда, то почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2006, 00:08 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1544865]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 539ms |

| 0 / 0 |
