Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с вопросами по проектированию структуры БД для разработчиков / 25 сообщений из 36, страница 1 из 2
21.11.2006, 17:16
    #34144586
Morning
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с вопросами по проектированию структуры БД для разработчиков
Нужен тест для тестирования знаний разработчиков в проектировании структуры БД. Нормальные формы, целостность сущностей и ссылок, внешнии ключи - в общем все, что должен знать опытный проектировщик\программист, использующий реляционные БД.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Продолжим:

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

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

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


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