Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Базы данных > MSSQL Server
Перезагрузить страницу Прошу помочь с базой
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Oxlamon Oxlamon вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.04.2012
По умолчанию Прошу помочь с базой - 27.04.2013, 13:49

Добрый день.
Мне нужно сделать небольшую базу данных, которая будет отслеживать состояние ключей у охранника.
В данном случае у меня 3 таблицы:
1 - ключи и всё с ними связанное
номер комнаты <- ключ
количество ключей (всего) NOT NULL
количество ключей (сейчас)NOT NULL
тип комнаты (комнат 2 типа: общие, куда пускают всех, и ограниченные, куда пускают только по списку для этой комнаты) NOT NULL
сигнализация (наличие)
сигнализация (состояние: включена/отключена)

2 - люди
id <- ключ
ФИО NOT NULL
фотография
телефон
адрес

3 - журнал доступа
номер комнаты } - ключ
дата и время }
действие (ключ выдан/ ключ возвращён) NOT NULL
id (человека, совершавшего действие) NOT NULL

имеется связь таблиц ключи и журнал через столбец номер комнаты (1 ко многим, обновление каскадное)
Вопросы следующие:
1) Мне нужно связать таблицу люди с таблицей ключи так, чтобы в одну комнату (из тех, что с ограниченным доступом) допускалось несколько человек, но при этом один и тот же человек мог допускаться и в другие комнаты с ограниченным доступом. Проще говоря, мне как-то нужно загнать либо список комнат, в которые допускается личность в таблицу Люди, либо список id тех, кто допускается в комнату в таблицу Ключи
как это сделать?

2) имеет ли построенная база 3 нф? если нет, то что нужно изменить (или хотя бы в каком направлении нужно думать)?

Заранее спасибо.
Ответить с цитированием
  (#2 (permalink)) Старый
Oxlamon Oxlamon вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.04.2012
По умолчанию 28.04.2013, 15:49

Вроде бы, нашёл решение:
1 - keys
room - key
number_of_keys - NOT NULL
current_keys - NOT NULL
room_type - NOT NULL
alarm
alarm_status

2 - people
person_id - key // можно было бы обойтись и без него, но person_name имеет тип nvarchar(MAX), а MS SQL отказывается делать ключевым столбец с типом nvarchar(MAX) или text
person_name - NOT NULL
person_photo
telephone
adress
room_allowed

person_id и room_allowed вместе UNIQUE

3 - journal
room - key
datetime - key
action - NOT NULL
person_id - NOT NULL

связи: keys.room с people.room_allowed и keys.room с journal.room (обе - 1-к-многим)

вроде бы, эта база теперь в 3 нф. если нет, прошу поправить меня.

Последний раз редактировалось Oxlamon; 28.04.2013 в 16:01
Ответить с цитированием
Ads
Ответ

Метки
бд , ключи , охрана

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь retgar Подбор комплектующих 52 03.05.2013 21:56
Очень прошу помочь!!! Денис24 Ремонт ноутбуков 5 07.07.2012 08:05
Прошу помочь тунеядетс Windows 7 11 24.06.2012 15:20
Прошу помочь! khelser100 Звук и акустические системы 2 16.07.2011 23:35
Прошу помочь с апгрейдом. Alu Апгрейд 4 24.02.2011 21:08
прошу помочь ponomar Память 6 03.02.2011 09:45
Прошу вас мне помочь!f(x,n)=cos x+cos x2+ cos x3+...+ cos xn при известных x и n Марика Prolog 2 14.01.2011 19:12
Прошу помочь оценить мою сборочку!!! Очень прошу!!! Alexandr_D Оценка конфигурации 25 04.12.2010 21:35
Прошу помочь mena519 Материнские платы 8 07.09.2010 21:34
прошу помочь MyRaVeЙ Ремонт ноутбуков 1 03.07.2010 15:47
Прошу помочь! lexus Подбор комплектующих 22 16.02.2010 15:25



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов