- •Содержание
- •Введение
- •Реферат
- •Р еферат
- •Постановка задачи и анализ предметной области
- •1.1 Цель создания системы бд.
- •1.2 Функциональный анализ предметной области.
- •1.3 Пользовательские представления о предметной области.
- •Проектирование базы данных
- •2.1 Концептуальная модель
- •2.1.1 Типы сущностей
- •2.1.2 Типы связей
- •2.1.3 Атрибуты и их домены
- •2.1.4 Локальные концептуальные модели пользователей
- •2.1.5 Диаграмма глобальной концептуальной модели
- •2.2 Логическая модель
- •2.2.1 Отношения
- •2.2.2 Ограничения целостности
- •2.2.3 Представления
- •2.3 Физическая модель
- •2.3.1 Анализ транзакций
- •2.3.2 Файловая структура отношений
- •2.3.3 Индексы
- •2.3.4 Средства защиты
- •3. Проектирование пользовательского интерфейса
- •3.1 Архитектура пользовательского интерфейса
- •3.2 Формы ввода/вывода
- •3.3 Запросы и отчеты
- •Проектирование програмного обеспечения
- •4.1. Структура приложения и его основных частей.
- •4.2. Входные и выходные потоки данных.
- •4.3. Описание взаимодействия серверной и клиентской части программного комплекса
- •4.4. Инструментальная среда разработки и язык(и) программирования
- •4.5. Организация доступа к данным
- •Список использованнных источников
2.3.2 Файловая структура отношений
В данной базе данных используются последовательные (неупорядоченные) файлы. Данные загружаются в таблицу крупными блоками. Небольшие файлы. При каждом обращении к таблице производится выборка всех ее строк (в любом порядке). Таблица имеет дополнительные структуры поиска, например индекс по ключу. Необходимо получить экономию дискового пространства.
2.3.3 Индексы
Индекс — объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени.
2.3.4 Средства защиты
Средства защиты системы регламентируют доступ и эксплуатацию базы данных на уровне системы (аутентификация пользователя по имени и паролю)
Средства защиты данных регламентируют доступ и использование объектов базы данных (таких как отношения и представления), а также действия, которые могут быть выполнены пользователями с конкретными объектами (чтение, удаление, обновление, вставка).
Реализация выше сказанной защиты было реализовано с помощью ролей в PostgreSQL. Роли - это не прямой аналог пользователей (users), хотя они и могут использоваться, в том числе и для авторизации пользователей.
При создании роли ключевой момент - это передаваемые параметры (атрибуты), они и определяют какого типа будет эта роль, и какими привилегиями она будет располагать. На каждую роль предусмотрены логин и пароль.
Основные атрибуты:
SUPERUSER | NOSUPERUSER - Указывает, что данная роль имеет статус «суперпользователя», который позволяет осуществлять операции администрирования без каких-либо ограничений. К этим операциям относится доступ, создание/удаление, модификация(изменение) ролей и объектов баз данных. Соответственно, опция SUPERUSER — разрешает, а NOSUPERUSER — запрещает.
CREATEDB | NOCREATEDB - Разрешает или запрещает роли создавать БД
CREATEROLE | NOCREATEROLE - Разрешает или запрещает создавать/удалять роли. По умолчанию: NOCREATEROLE.
INHERIT | NOINHERIT - Определяет, что роль может наследовать привилегии другой роли, членом которой она является. Роль с атрибутом INHERIT будет иметь те же привилегией доступа к объектам БД, что и та роль, которая является её владельцем, потому что первая является членом последней. По умолчанию: INHERIT.
LOGIN | NOLOGIN - Позволяет роли открывать соединения. Один из ключевых моментов, который следует понять в ролях: если роль не может авторизовываться (т.е. открывать соединения от своего имени), то единственная её функция - это настройка прав доступа к бд для других ролей, и такая роль называется групповой. По умолчанию: NOLOGIN.
CONNECTION LIMIT connlimit - устанавливает лимит открытых соединений на роль, -1 - значение по умолчанию и в данном случае соответствует бесконечности.
[ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' - этот параметр, отвечает за пароль.
Таблица 4.35 – Доступ пользователей к таблицам.
Таблица |
Гость |
Сотрудник |
Зав. палатой |
Начальник отдела кадров |
Заведующий |
Главрач |
Personnel |
+ - |
+ - |
+ - |
+ + |
+ - |
+ + |
Post |
- - |
+ - |
+ - |
+ + |
+ - |
+ + |
Obedient_list |
- - |
+ - |
+ - |
+ + |
+ - |
+ + |
Qualification |
- - |
+ - |
+ - |
+ + |
+ - |
+ + |
Contract |
- - |
+ - |
+ - |
+ + |
+ - |
+ + |
Demand |
- - |
+ - |
+ + |
+ + |
+ + |
+ + |
Chamber |
+ - |
+ - |
+ + |
+ - |
+ + |
+ + |
Warehouse_preparations |
- - |
+ - |
+ - |
+ - |
+ + |
+ + |
Warehouse_materials |
- - |
+ - |
+ - |
+ - |
+ + |
+ + |
Supplier |
- - |
+ - |
+ - |
+ - |
+ + |
+ + |
Patient |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |
Registration |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |
Purpose |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |
local_doctor |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |
Relative |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |
Ambula_patient |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |
Med |
- - |
+ + |
+ + |
+ - |
+ + |
+ + |