powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с вопросами по проектированию структуры БД для разработчиков
36 сообщений из 36, показаны все 2 страниц
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34144586
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужен тест для тестирования знаний разработчиков в проектировании структуры БД. Нормальные формы, целостность сущностей и ссылок, внешнии ключи - в общем все, что должен знать опытный проектировщик\программист, использующий реляционные БД.

В интернете бесплатных опросов не нашел.

Кто-нибудь знает, где можно такие вопросы найти?
Или может кто свои вопросы предложит (с вариантами ответов)?
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34144633
.gc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.gc
Гость
A тупо взять учебники/пособия "Введение в базы данных" от именитых авторов (типа Ульмана, Конноли, Дейта) и смотреть разделы "вопросы и упражнения" к каждой главе?
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34144644
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Была такая мысль. Но там (в Дейте в частности) не в виде тестов, а в виде вопросов и упражнений. Значит:
1. Не все упражнения подойдут, т.к. слишком длинные
2. Выдумывать самому ответы надо

Если ничего другого не подвернется, то по книгам и буду шерстить. Н мы же все ленивые :) Всем хочется сразу готовое из инета скачать :)
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34158693
anjey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенно интересен второй пункт... :)
Как писал .gc , а тупо прочитать Дейта ? :) Двойная польза !
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34158722
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anjey, ты можешь мне помочь? Привести один вопрос из Дейта и написать к нему 3-5 вариантов ответа?
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34158755
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обеспечить единственность записи в таблице?Очень занятная задачка (есть пути 3 решения данной задачи,причем один-без написания кода).

Но данный форум читают многие,поэтому через день после написания задачки она станет бессмыслена,так что в публикации хитрых задач пмсм даже смысла нет ...
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34158801
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНо данный форум читают многие,поэтому через день после написания задачки она станет бессмыслена,так что в публикации хитрых задач пмсм даже смысла нет ...

И ничего плохого. По крайней мере человек будет знать, как это сделать.
Итак вопрос:
Как сделат так, чтобы каждая запись в таблице была уникальной?
Варианты ответа:
1). Ввести уникальное поле и сделать его первичным ключом
#3). Сделать индексы по всем полям.
2). Включить все поля записи в первичный ключ
#4). Реализовать триггер, проверяющий уникальность записи
5). Сделать все поля таблицы, которые не входят в первичный ключ, внешним ключом

Правильные ответы помечены #

- Насколько вопрос сформулирован корректно? Если считаете, что некорректно, предложите свои варианты.
- Насколько ответы сформулированы корректно? Если считаете, что некорректно, предложите свои варианты. Если считаете, что ответ, помечанный как правильный, на самом деле неверен или верен частично, объясните пожалуйста почему.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159110
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Итак вопрос

С такими знаниями Вам рановато заниматься тестированием кого бы то ни было.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159126
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Итак вопрос

С такими знаниями Вам рановато заниматься тестированием кого бы то ни было.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159280
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В чем проявляется недостаток моих знаний?
Господа, почему нельзя сразу исправить ошибку? Ведь в посте было четко написано:
- Насколько вопрос сформулирован корректно? Если считаете, что некорректно, предложите свои варианты.
- Насколько ответы сформулированы корректно? Если считаете, что некорректно, предложите свои варианты. Если считаете, что ответ, помечанный как правильный, на самом деле неверен или верен частично, объясните пожалуйста почему.

Очень большая просьба к тем кто может исправить ответы, или написать свои варианты.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159283
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточнение: под уникальностью понимается, что ни одно из поле базы данных не совпадает с другим таким полем в другой записи.
Таким образом вопрос формулируется так: Как сделать так, чтобы каждая запись в таблице была уникальной по каждому полю, составляещему запись.

Приношу свои извинения тем, кто не понял вопрос из формулировки.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159288
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, заметил свою ошибку. Это была опечатка. В свете предыдущего уточнения вопроса ,варианты ответа:
1). Ввести уникальное поле и сделать его первичным ключом
2). Сделать индексы по всем полям.
#3). Включить все поля записи в первичный ключ
#4). Реализовать триггер, проверяющий уникальность записи
5). Сделать все поля таблицы, которые не входят в первичный ключ, внешним ключом
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159314
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Господа, почему нельзя сразу исправить ошибку?

Потому что Вы не вопрос задаете, а предлагаете сделать за Вас Вашу работу. Если предполагается, что это коммерческий софт - разместите объявление в форуме "Работа" и наймите тех, кто может такую работу выполнить. Если это open source разработка, опишите задачи подробнее и заведите проект на sf.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159625
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я предлагаю нам всем вместе сделать работу, результатами которой смогут воспользоваться все остальные. Заметьте, я тоже принимаю в этом активное участие.

Хорошо, если в данном сообществе это не принято, сделаю такой тест сам. После чего он будет выложен здесь для тех, кому также интересен этот вопрос.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159643
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос не так понят: как сделать чтобы в таблице была ТОЛЬКО ОДНА!! запись, а не обеспечение уникальности каждой записи.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159706
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Shtock, понял.
В таком случае вопрос звучит так:
Как сделать так, чтобы в таблице в любой момент времени содержалась только одна запись (эта логика должна быть реализована на стороне БД)?

Варианты ответа:
#1. Сделать триггер на добавление с соотвествующей логикой.
2. Сделать у первичного ключа таблицы значение по умолчанию.

У меня мысли кончились :(
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159822
@Babai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что ж попробуем.
При разработке БД для отдела кадров, было принято решение:
Для таблицы содержащей данные о сотрудниках, в качестве первичного ключа использовать номер и серию паспорта.
Правильно ли такое решение?
1) Да. Паспорт однозначно характеризует владельца
#2)Нет. Т.к возможна замена паспорта
3)Нет. Необходимо добавить дату рождения в первичный ключ.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159869
Paul Sacks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Табельный номер организации всегда уникальный - налоговая так требует...
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159899
@Babai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Paul SacksТабельный номер организации всегда уникальный - налоговая так требует...
Мы берём в данном случае гипотетический случай ;-)
Тем более , если вы посмотрите, я специально ничего не сказал про табельный номер, который в является сурогатным ключом и правильным решением задачи.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159906
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
@Babai, замечательно!

Продолжим:

Для увеличения скорости работы вы денормализовали вашу базу данных и создали несколько колонок с избыточными данными. С помощью какого механизма вы предотвратите рассинхронизацию данных?
#1. Триггер
2. Хранимая процедура
3. Представление (view)
4. Ограничения (constraint)
5. Курсор
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159943
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Paul SacksТабельный номер организации всегда уникальный - налоговая так требует...

это не совсем так, т.е. конечно в каждый определенный момент он уникален, но табельные номера могут меняться - нет гарантий, что не будет совпадений (директивно это никак не регулируется)

т.е. вчера у Иванова табельный номер 43008, сегодня 56009... вполне вероятно (не исключено) что под номером 43008 значится уже Петров, илим будет значиться в дальнейшем в ходе генерации и присвоения нового табельного номера.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34159944
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопросик:

БД содержит следующие таблицы:
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
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160113
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глядя на вопросы и варанты ответов почему-то вспомнилось Классика кун-фуСначала ты не знаешь, что нельзя делать то-то
Потом знаешь, что нельзя делать то-то
Потом ты понимаешь, что иногда таки можно делать то-то
Ну а потом ты понимаешь, что помимо того-то существует еще шестьдесять шесть способов добиться желаемого, и все из них практически равноправны.
Когда тебя спрашивают "как мне добиться желаемого", ты быстро перебираешь в уме эти шестьдесять шесть способов, прикидываешь то общее, что в них есть, вздыхаешь и говоришь: "вообще-то, главное — гармония."
На вопрос обиженных учеников: "а как ее добиться?", ты говоришь: "никогда не делайте то-то".
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160133
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
To Alexey Kudinov:
И это пройдет (C) Соломон
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160203
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот Вы и попались:)Триггер - гы-гы,можете напороться на мутацию+обращение к данным (кроме текущей записи) таблицы на которую этот триггер и повешен потенциально опасны. Решение такое:
надо сделать dummy_column number(1) default 0 not null unique check (dummy_column=0), т.к. уникальность на 0, а данное условие позволяет вставить запись только с полем 0.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160206
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вопрос:

Вы разрабатываете базу данных, которая должна строг оподдердивать целостность данных по следующим правилам:
1. Если менеджер удален, все ссылки, которые ранее указывали на менеджера в таблице сотрудников должны быть установлены в NULL.
2. Колонка Title в таблице сотрудников должна содержать значение из таблицы должностей.
3. Ни одна запись из таблицы должностей не может быть удалена, пока остается хотя бы одна связанная запись в таблице сотрудников.
4. Важная информация о пользователе, такая как адрес, телефон, дата начала работы, всегда должна быть заполнена в таблице сотружников.
5. Колонка Manager в таблице сотрудников должна ссылаться на колонку EmployeeID в этой же таблице
Все эти правила могут быть реализованы на уровне базы данных. Какое из них может быть реализовано ТОЛЬКО с помощьюд триггеров?

1. 1
2. 2
3. 3
4. 4
5. 5

Какой ответ верный? Я думаю, что 1. Но может и ошибаюсь.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160214
.gc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.gc
Гость
Morning, а вы бывали на пресловутом BrainBench? :)
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160225
@Babai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте.

Давайте пройдёмся по индексам

У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех?

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

1. Разве нельзя в триггере заблокировать таблицу на запись, проверить существование единственной записи, выполнить необходимую логику, разблокировать таблицу?
2. Как можно предложеное Вами решение записать в виде, независимом от версии сервера БД?
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160230
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То .gc:
Бывал, последние вопросы взяты именно оттуда из демонстраций к тестам и из бета-тестов
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160247
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То .gc:
Относительно Вашего совета по тому, что взять вопросы из учебника. Я посмотрел Дейта. Там практически все вопросы в виде упражнений. То есть подразумевают развернутый ответ. Переделка их в вопросы теста по трудозатратам эквивалентна написанию вопроса теста с нуля.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160258
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Ручные блокировки - потенциальное зло.
2.таки мое решение - записывается в самом стандартном ddl для при создании таблицы.Там нет никакой СУБд-специфики
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34160289
Morning
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал сделать новый вариант вопроса, но что-то с вариантами ответа туго. Да и описать верный ответ не в терминах SQL не получается :(

Как сделать так, чтобы в таблице в любой момент времени содержалась только одна запись (эта логика должна быть реализована на стороне БД)?
Можно выбрать несколько ответов

Варианты ответа:
#(Оценивается в полбалла, т.к. решение потенциально опасно) 1. Сделать триггер на добавление с соотвествующей логикой.
2. Сделать уникальные индексы по каждому полю
#3. Ввести dummy_column number(1) default 0 not null unique check (dummy_column=0)
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34162332
hoarfrost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
@BabaiЗдесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте.

Давайте пройдёмся по индексам

У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех?

1)добавление данных
2)удаление данных
#3)обновление данных
Всегда ли? И если всегда, то почему?
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34163332
@Babai
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hoarfrost @BabaiЗдесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте.

Давайте пройдёмся по индексам

У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех?

1)добавление данных
2)удаление данных
#3)обновление данных
Всегда ли? И если всегда, то почему?
Простите, вы видите ошибку в вопросе?
Или вы хотите увеличить количество вариантов ответа.
...
Рейтинг: 0 / 0
Помогите с вопросами по проектированию структуры БД для разработчиков
    #34165682
hoarfrost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
@Babai hoarfrost @BabaiЗдесь самое главное не свалиться к особенностям реализации на конкретных СУБД,так что если меня занесёт,поправте.

Давайте пройдёмся по индексам

У вас таблица более 1000000 записей. По нескольким из полей настроены индексы. Какие операции будут выполняться дольше всех?

1)добавление данных
2)удаление данных
#3)обновление данных
Всегда ли? И если всегда, то почему?
Простите, вы видите ошибку в вопросе?
Или вы хотите увеличить количество вариантов ответа.
Всегда ли верен третий ответ? И если всегда, то почему?
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с вопросами по проектированию структуры БД для разработчиков
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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