Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Определение дополнительных ограничений целостности




Перечислим ограничения целостности, которые не указаны в табл. 14–23.

Это следующие:

1) Значения всех числовых атрибутов – больше 0 (или null, если атрибут необязателен).

2) Область значений атрибута Sex отношения EMPLOYEES – символы 'м' и 'ж'.

3) Отношение ROOMS не имеет первичного ключа, но комбинация значений (R_no, Tel) уникальна.

4) В отношении TITLES порядковые номера авторов на обложке одной книги должны идти подряд, начиная с 1.

5) В отношении TITLES сумма процентов гонорара по одной книге равна 100.

 

Ограничения (4,5) нельзя реализовать в схеме отношения. В реальных БД подобные ограничения целостности реализуются программно (через внешнее приложение или специальную процедуру контроля данных).

Описание групп пользователей и прав доступа

Опишем для каждой группы пользователей права доступа к каждой таблице и к каждому полю (атрибуту):

1) Администратор БД: имеет доступ ко всем данным (по записи), может изменять структуру базы данных и связи между отношениями. Устанавливает права доступа для всех остальных групп.

2) Представители администрации компании: имеют доступ по чтению ко всем данным и доступ по записи к отношениям POSTS, ROOMS и EMPLOYEES.

3) Менеджеры: имеет доступ по чтению ко всем данным, кроме отношения POSTS. Имеют доступ по записи к отношениям AUTHORS, CUSTOMERS, BOOKS, EDITORS, TITLES, ORDERS, ITEMS.

4) Редакторы: имеют доступ по чтению к следующим отношениям:

· AUTHORS, кроме полей A_passp, A_org, A_pdate, A_INN (паспортные данные и ИНН).

· BOOKS, кроме полей B_advance, B_fee (затраты и гонорар).

· EDITORS.

· TITLES.

5) Сотрудники, принимающие и выполняющие заказы: имеют доступ по записи к отношениям CUSTOMERS, ORDERS, ITEMS и по чтению к полям B_title, B_circul, B_price и B_rest отношения BOOKS (название, тираж, цена, непроданный остаток тиража).

Реализация проекта базы данных

Не привязываясь к конкретной СУБД и выполнять описание основных операций по обработки данных на Transact-SQL.

 

Запросы к БД.

Запрос – это команда, которая формулируется для СУБД, и требует предоставитьопределенную информацию, указанную в параметрах команды.

Все запросы в SQL конструируются на базе одной команды, структура которой, с одной стороны, довольно проста, но, с другой стороны, ее можно расширять для того, чтобы выполнять очень сложные вычисления и обработку данных.

В самом простом случае команда SELECT дает инструкцию СУБД для поиска информации в таблице. В этом случае синтаксис команды следующий:

 

SELECT <имя столбца1>, <имя столбца2>,...
FROM <имя таблицы>
[WHERE <условие>]

SELECT - ключевое слово, которое сообщает СУБД, что эта команда является запросом. Все запросы начинаются с этого ключевого слова, за которым следует пробел.

<имя столбца1>,... - список столбцов таблицы, которые должны быть выведены на экран в результате выполнения запроса. Столбцы, имена которых не представлены в списке, не включаются в состав выходных данных команды. Это, конечно, не приводит к удалению из таблиц таких столбцов или содержащейся в них информации, потому что запрос не воздействует на информацию в таблицах - он только отображает данные.

FROM - ключевое слово, которое должно быть представлено в каждом запросе. За ним следует пробел, а затем - имя таблицы, используемой в качестве источника информации для запроса.

WHERE - ключевое слово, за которым следует условие, которому должны соответствовать выбираемые значения.

В результате запроса, в самом простом случае, данные выводятся на экран в виде нескольких колонок (одна колонка соответствует одному столбцу в таблице базы данных). Причем это вывод может быть не упорядочен. Обычно строки выдаются в том порядке, в котором они вводятся или хранятся в таблице. Можно упорядочить выходные данные непосредственно с помощью SQL-команд, указав специальное предложение. Но об этом чуть позже.

Если в команде SELECT поставить звездочку (*) вместо списка столбцов, то в результате будет выведена вся информация, содержащаяся в каждом столбце таблицы:

 

SELECT * FROM <имя таблицы>

Для того, чтобы получить информацию из строго определенных столбцов таблицы, необходимо просто указать те столбцы, которые требуется просмотреть, и не указывать те, которые не требуются.

Причем порядок вывода столбцов будет именно таким, как указано в запросе.

Пример: вывести информацию о табельном номере, именах и дате рождения сотрудников:

 

SELECT E_ID,E_NAME, E_BORN FROM Employees





Поделиться с друзьями:


Дата добавления: 2016-10-06; Мы поможем в написании ваших работ!; просмотров: 564 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2268 - | 2154 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.