Фрагмент для ознакомления
2
Сегодня компьютеры используются практически в любой сфере бизнеса. Автоматизация любого бизнес процесса экономит время, увеличивает поток клиентов, и дает новые возможности для увеличения доходности. Организация бизнес процессов требует наличия готовых инструментов в вычислительных системах и соответствующие знания. Для упорядочивания, компактного размещения и последующего анализа информации используются системы управления базами данных (СУБД). Сегодня существует множество таких систем. СУБД подразделяют на иерархические, сетевые, объектно-реляционные, объектно-ориентированные. Более детально типы СУБД описаны в [1]. К объектно-реляционным, или просто реляционным СУБД относятся следующие системы Oracle, MySQL, PostgreSQL, Microsoft SQL server, Microsoft Access. Каждая из них имеет свое назначение и спектр применения. Важно отметить, что большинство СУБД не предназначены для формирования визуального интерфейса взаимодействия с пользователем. Для этого используются специальные среды разработки приложений. Тем не менее, компания Microsoft одна из первых выпустила продукт Microsoft Access, где средства управления объектами данных и интерфейс пользователя можно писать в одном месте. Это нисколько не умаляет компьютерные разработки других компаний. Можно даже утверждать что Microsoft Access это мощный инструмент одновременно и для обучения основам реляционных баз данных, так и для проектирования более сложных систем. Практически все реляционные базы данных используют в качестве языка запросов - SQL (Structured Query Language)[2]. С небольшими изменениями стандарт SQL поддерживают все современные СУБД, построенные на реляционной модели данных. Реляционная (от англ. relations – отношения) модель данных базируется на описании отношений между объектами базы данных (БД). В качестве объектов могут выступать таблицы, запросы, представления и т.д. В работе будет использоваться Microsoft Access версия 2007. Данная программа состоит[3] из
• Инструмент для создания/редактирования таблиц
• Визуальный редактор экранных форм
• Визуальный редактор SQL запросов
• Инструмент для формирования отчетов
Все эти средства могут использовать встроенный язык программирования VBA (Visual Basic for Application). В качестве движка базы данных Access используется Microsoft Jet Database Engine[4], которая является файл-серверной СУБД, и поэтому применима лишь для приложений с небольшими объемами данных. Тем не менее, в Microsoft Access есть встроенные средства для поддержки работы с внешними СУБД, использующих Open Database Connectivity (ODBC) интерфейс [5], что снимает ограничения на размер данных. В настоящей работе в качестве хранилища данных будет использоваться Microsoft SQL server
Глава 1
1.1 Постановка задачи
Необходимо разработать программу для организации видеопроката видеоматериалов. В программе должны быть реализованы следующие функции:
1. Хранение коллекции видеоматериалов
2. Добавление фильма в коллекцию
3. Удаление фильма из коллекции
4. Изменение фильма в коллекции
5. Хранение списка клиентов
6. Добавление клиентов
7. Изменение данных о клиенте
8. Формирование заказа
9. Изменение статуса заказа
10. Ведение сопровождающих справочников
11. Поиск фильмов по названию и жанру
Также нужно поддерживать ограничения целостности данных. Нельзя удалить фильм из коллекции, если он находится в заказе. Невозможно одновременно взять на прокат один фильм более, чем одним клиентом. Клиент может взять напрокат несколько фильмов в одном заказе.
Для каждого фильма необходимо хранить следующую информацию:
Название фильма, описание фильма, год выпуска, тип, жанр, длительность в минутах, количество копий, базовая стоимость проката
В качестве типа видеоматериалов рассматриваются: художественные, документальные фильмы, сериалы, мультипликационные фильмы.
К жанру видеоматериалов относятся: комедия, боевик, драма, фантастика, приключения, детектив, исторический, вестерн, триллер, музыкальный, криминальный, спортивный.
Для каждого клиента необходимо хранить ФИО, адрес, телефон
В заказе указывается клиент, дата начала, дата окончания, стоимость проката, выбранный видеоматериал
1.2 Предметная область. Реляционная модель данных
Концепция реляционной модели данных была предложена в 1969 году Эдгаром Коддом, известным специалистом в области баз данных [6]. Реляционная модель представляет собой совокупность данных, состоящую из набора двумерных таблиц. Такая модель является удобной и наиболее привычной формой представления данных, Любая таблица состоит из строк называемых записями таблицы и столбцов, называемых полями таблицы. Каждое поле(столбец) имеет уникальное наименование в рамках одной таблицы, тип характеризующий множество возможных значений, ограничения на диапазон значений. Для описания такой модели подходит реляционная алгебра. В реляционной алгебре поименованный столбец отношения называется атрибутом, а множество всех возможных значений конкретного атрибута –доменом. Строки таблицы со значениями разных атрибутов называют кортежами. Например, в таблице, приведенной на рис. 1, кортежи – это ai1, ai2,…,ain (i=1,2,…m); а домены – b1к, b2к,…,bmk (k=1,2,…n). Количество атрибутов, содержащихся в отношении, определяет его степень, а количество кортежей –кардинальность отношения.
A1 A2 … An
B1 a11 a12 … a1n
B2 a21 a22 … a2n
… … … … …
Bm dm1 am2 … amn
Рис. 1. Домены и кортежи отношения
Один или несколько атрибутов, значения которых однозначно определяют кортеж отношения, называется его ключом, или первичным ключом, или ключевым полем. То есть ключевое поле– это такое поле, значения которого в данной таблице не повторяется. Например, если таблица содержит список автомобилей, и в ней имеются поля: Наименование, Марка, Автомобильный номер, Года выпуска – то в качестве ключа можно использовать поле «Автомобильный номер». Пример реляционной модели отражен на рис.2.
Рис.2 Пример реляционной модели данных