Выдержка из текста работы
Выбранной предметной областью базы данных является учет судовладельцев и судов Государственной инспекцией по маломерным судам. В базу данных заносятся атрибуты собственников (судовладельцев), судов (с отдельными характеристиками их двигателей), мест базирования этих судов, инспекторов ГИМС, фиксирующих данные. На основе этих данных заполняется судовой билет.
Целью курсовой работы является разработка базы данных, содержащей информацию, необходимой Государственной инспекции по маломерным судам для выдачи судовых билетов владельцам судов.
База предоставляет пользователю (инспектору) информацию о судовладельцах, суднах (технических характеристиках, двигателях), местах их базирования, датах выдачи предыдущих судовых билетов. Наиболее важными компонентами данной системы являются: собственник, судно, инспектор ГИМС и судовой билет. Основными процессами являются: просмотр информации о судовладельце и судне.
Задачей данной базы является автоматизация и упрощение работы инспектора Государственной инспекции по маломерным судам при выдачи и замене судовых билетов, поиске необходимой информации при различных проверках водного транспорта.
2. Информационно-логическая модель данных
Информационно-логическая модель отображает данные предметной области в виде совокупности информационных объектов и связей между ними. Эта модель представляет данные, подлежащие хранению в базе данных.
Сущность или информационный объект — это информационное описание некоторого реального объекта, процесса, явления или события. Сущность образуется совокупностью взаимосвязанных реквизитов, представляющих качественные и количественные характеристики предметной области. Примерами сущностей в данной базе данных могут быть Собственник, Судно, Инспектор ГИМС, и т. п. Каждой сущности нужно присвоить уникальное имя, соответствующее этому объекту.
Сущность может иметь множество реализаций — экземпляров. Например, каждый экземпляр объекта Собственник представляет конкретное физическое лицо. Экземпляр характеризуется совокупностью конкретных значений атрибутов и должен однозначно идентифицироваться значением ключа сущности, который может состоять из одного или нескольких ключевых атрибутов. Атрибут или несколько атрибутов, значения которых уникальным образом идентифицируют каждый экземпляр сущности, являются потенциальным ключом данной сущности. Потенциальных ключей может быть несколько. Таким образом, атрибуты подразделяются на ключевые и альтернативные. Значения каждого атрибута выбираются из соответствующего множества значений, включающего все потенциальные значения, которые могут быть присвоены атрибуту. Это множество значений называется доменом.
Процесс выделения сущностей может производиться на основе интуитивного или формального подхода. При интуитивном подходе легко могут быть выявлены сущности, соответствующие реальным. Однако, получаемая при этом информационно-логическая модель, как правило, требует дальнейших преобразований. При таком подходе возможны существенные ошибки. Последующая проверка выполнения требований обычно приводит к необходимости уточнения сущностей.
Следующим шагом проектирования после выявления сущностей является определение связей между ними. Связь устанавливается между двумя сущностями, если логически взаимосвязаны их экземпляры.
Каждому типу связи присваивается имя, которое должно представлять его функцию. Рассмотрим сущности «Судно» и «Место базирования». Между этими сущностями можно определить связь «Базируется», сопоставив каждому судну то место базирования, где оно находится на стоянке, или, наоборот, каждому месту базирования — корабли, которые там находятся.
В связи могут участвовать не две, а большее количество сущностей. Количество участников некоторой связи называется степенью связи.
Максимальное количество экземпляров одной сущности, связанных с одним экземпляром другой сущности обозначает понятие мощности связи.
Для того чтобы указать количество возможных связей для каждого экземпляра участвующего в связи сущности, используют показатель кардинальности.
Для бинарных связей показатель кардинальности может иметь следующие значения:
· «один к одному» (1 : 1),
· «один ко многим»(1 :N),
· «многие ко многим» (М :N).
Связи «один к одному» имеют место, когда каждому экземпляру первой сущности соответствует только один экземпляр второй сущности и наоборот, каждому экземпляру второй сущности соответствует только один экземпляр первой сущности.
Связи «один ко многим» — это такие связи, когда каждому экземпляру одной сущности может соответствовать несколько экземпляров другой сущности, а каждому экземпляру второй сущности может соответствовать только один экземпляр первой сущности. В такой связи первая сущность является главной, а вторая — подчиненной.
Связи «многие ко многим» — это такие связи, когда каждому экземпляру первой сущности соответствуют несколько экземпляров второй сущности и каждому экземпляру второй сущности может соответствовать несколько экземпляров первой сущности. Такие связи не могут непосредственно реализовываться в реляционной базе данных. Их можно реализовать путем введения дополнительного объекта «связка». Объект связка должен иметь идентификатор, образованный из идентификаторов исходных объектов.
Таблица 1.1. Объекты информационной модели и их свойства
Сущность |
Атрибуты |
|
Собственник |
УК Собственника, Фамилия, Имя, Отчество, Пол, Дата рождения, Адрес, Телефон, Паспорт, ИНН |
|
Судно |
УК Судна, Вид судна, Год постройки, Место постройки, Заводской номер судна, Водоизмещение, Материал корпуса, УК Собственника, УК Двигателя |
|
Двигатель |
УК Двигателя, Вид двигателя, Мощность, Страна изготовитель, Марка, Заводской номер, |
|
Место базирования |
УК Места базирования, Тип водоема, Режим судоходства, Разрядность, УК Судна |
|
Инспектор ГИМС |
УК Инспектора ГИМС, Должность, Фамилия, Имя, Отчество |
|
Судовой билет |
УК Судового билета, Номер предыдущего судового билета, Дата смены судового билета, Дата выдачи, УК Судна, УК Инспектора ГИМС |
После создания данной таблицы можно построить логическую схему базы данных в программной среде ErWin(см. Рис. 2.1).
3. Физическая модель базы данных
Физическая модель БД определяет способ размещения данных на носителях (устройствах внешней памяти), а также способ и средства организации эффективного доступа к ним. Поскольку СУБД функционирует в составе и под управлением операционной системы, то организация хранения данных и доступа к ним зависит от принципов и методов управления данными операционной системы.
К вопросам организации данных относятся:
· выбор типа записи — единицы обмена в операциях ввода-вывода;
· выбор способа размещения записей в файле и метода оптимизации размещения;
· выбор способа адресации и метода доступа к записям.
Стадия физического проектирования БД в общем случае включает:
· выбор способа организации БД;
· разработку спецификации внутренней схемы;
· описание отображения концептуальной схемы во внутреннюю.
Способ хранения БД определяется механизмами СУБД автоматически по умолчанию на основе спецификаций концептуальной схемы БД, и внутренняя схема в явном виде в таких системах не используется. Внешние схемы БД обычно конструируются на стадии разработки приложений.
Следующим этапом проектирования базы данных является определение типов данных атрибутов сущностей (см. Рис. 3.1) и создание самой физической модели (см. Рис. 3.2).
Рис. 3.1. Определение типов данных атрибутов сущностей
4. Создание базы данных в СУБД MSSQLServer
4.1 Создание файла базы данных
При создании базы данных SQLServer создает два физических файла: один для хранения объектов базы данных, другой — для журнала транзакций. Транзакция — это последовательность операций над БД, рассматриваемых СУБД как единое целое. Транзакция представляет собой набор действий, выполняемых с целью доступа или изменения содержимого базы данных.
4.2 Создание базы данных с помощью программногоSQL-кода
На языке SQL создание таблицы осуществляется с помощью оператора CreateTable. После него необходимо указать имя будущей таблицы, названия столбцов, указать их типы данных и возможность того, что они будут принимать значение NULL. Это ключевое слово указывает на то, что данный столбец может содержать неопределенные значения. Столбцы первичных ключей обязательно имеют значение NOTNULL.
Пример создания таблицы
CREATE TABLE Sobstvennik
uk_sobstvennika char(6) NOT NULL ,
familia CHAR(30) NOT NULL ,
imya char(30) NOT NULL ,
otchestvo char(30) NULL ,
pol bit NOT NULL ,
data_rozhddatetime NOT NULL ,
adres char(50) NOT NULL ,
tel char(16) NOT NULL ,
pasport char(25) NOT NULL ,
INN char(25) NOT NULL ,
PRIMARY KEY (uk_sobstvennika ASC)
CREATE TABLE Dvigatel
uk_dvigatelya char(6) NOT NULL ,
vid_dvigatelya char(25) NOT NULL ,
moshnoct char(10) NOT NULL ,
strana_izgotov char(15) NOT NULL ,
marka char(25) NOT NULL ,
zavod_nomer_dvig char(8) NOT NULL ,
PRIMARY KEY (uk_dvigatelya ASC)
CREATE TABLE Sudno
uk_sudna char(6) NOT NULL ,
vid_sudna char(18) NOT NULL ,
god_postr char(4) NOT NULL ,
mesto_postr char(50) NOT NULL ,
zavod_nom_sud char(8) NOT NULL ,
vodoizmesh char(6) NOT NULL ,
mat_korpus char(18) NOT NULL ,
uk_sobstvennika char(6) NULL ,
uk_dvigatelya char(6) NULL ,
PRIMARY KEY (uk_sudna ASC),
FOREIGN KEY (uk_sobstvennika) REFERENCES Sobstvennik(uk_sobstvennika),
FOREIGN KEY (uk_dvigatelya) REFERENCES Dvigatel(uk_dvigatelya)
CREATE TABLE Mesto_bazirovania
uk_mesta_baz char(8) NOT NULL ,
tip_vodoema char(18) NOT NULL ,
rezhim_sudohod char(18) NOT NULL ,
razryadnost char(10) NOT NULL ,
uk_sudna char(6) NOT NULL ,
PRIMARY KEY (uk_mesta_baz ASC),
FOREIGN KEY (uk_sudna) REFERENCES Sudno(uk_sudna)
CREATE TABLE Inspector_GIMS
uk_inspectora_gims char(6) NOT NULL ,
dolzhnost char(18) NOT NULL ,
familia char(30) NOT NULL ,
imya char(30) NOT NULL ,
otchestvo char(30) NULL ,
PRIMARY KEY (uk_inspectora_gims ASC)
CREATE TABLE Sudovoi_bilet
uk_sud_bileta char(8) NOT NULL ,
data_vidachidatetime NOT NULL ,
nomer_pred_sud_bil char(8) NULL ,
data_smen_sud_bildatetime NULL ,
uk_inspectora_gims char(6) NULL ,
uk_sudna char(6) NULL ,
PRIMARY KEY (uk_sud_bileta ASC),
FOREIGN KEY (uk_inspectora_gims)
REFERENCES Inspector_GIMS(uk_inspectora_gims),
FOREIGN KEY (uk_sudna) REFERENCES Sudno(uk_sudna)
Для создания базы данных скопируем код, сгенерированный в программной среде Erwin, в окно нового запроса NewQueryи выполним его командой Execute.
4.3 Создание диаграммы базы данных
база информационный билет маломерный
Итак, с помощью программного SQL-кода мы создали таблицы, и при помощи первичных и внешних ключей описали отношения между этими таблицами. Для наглядного представления этой информации создадим диаграмму базы данных.
Для того, чтобы это выполнить выберем команду NewDatabaseDiagram из контекстного меню DatabaseDiagram (см. Рис. 4.2) и в появившемся диалоговом окне выбираем все таблицы для создания диаграммы базы данных (см. Рис. 4.3).
Рис. 4.2. Создание новой диаграммы
Рис. 4.2. Добавление таблиц в диаграмму
5. Создание SQL-запросов
Существует четыре основных типа запросов данных в SQL, которые относятся к языку манипулирования данными (Data Manipulation Language):
· INSERT — добавить строки в таблицу;
· UPDATE — изменить строки в таблице;
· DELETE — удалить строки в таблице;
· SELECT — выбрать строки из таблиц;
Пример 1. Добавление строки
Добавление новой строки в таблицу Sobstvennikпроизводится прямым заполнением полей таблицы, либо следующим образом (см. Рис. 5.1):
INSERTINTOSobstevennik
VALUES (‘026’, ‘Никитин ‘, ‘Сергей’, ‘Владимирович’, ‘Мужской’, ‘21.10.1987’, ‘Новгород’, ул. Советская, д.10, кв.5 ‘, ‘547-89-64’ , ’58 154 128 ‘, ‘215 558 596 254’)
Рис. 5.1. Результат добавления строки в таблицу с помощью командыINSERT
Пример 2. Обновление строки в таблицы
Изменим строку, которую добавили (см. Рис. 5.2):
UPDATE Sobstvennik
SET familia=’Белов ‘
WHERE familia=’Никитин ‘;
Рис. 5.2. Результат обновления строки в таблице с помощью команды UPDATE
Пример 3. Удаление строки из таблицы
Удалим данную строку с помощью команды DELETE (см. Рис. 5.3)
DELETE FROM Sobstvennik
WHERE familia=’Белов ‘;
Результат выполнения команды DELETE
Запрос SELECT
Запрос SELECTимеет самое большое количество опций, поэтому он требует более подробного описания. Ниже приведены примеры использования этого запроса для получения различных выборок.
Пример 1
Запрос на выборку из таблицы «Судно». Данный запрос будет предоставлять список судов, построенных в Санкт-Петербурге, отсортированный по году постройки судна. Результат запроса (см. Рис. 5.4)
SELECTuk_sudna, vid_sudna, god_postr, mat_korpus
FROM Sudno
WHERE mesto_postr=’Россия, Санкт-Петербург’
ORDER BY god_postr ASC
Рис. 5.4. Выборка из таблицы «Судно». Результат запроса SELECT
Пример 2
Запрос на выборку из двух таблиц: «Инспектор ГИМС» и «Судовой билет». Данный запрос будет предоставлять информацию о инспекторах ГИМС, оформленных ими судовых билетах (УК судового билета, дату оформления, а также судно, на которое был оформлен билет). В данном запросе конкатенируются столбцы «фамилия», «имя», «отчество» инспектора ГИМС и результирующему столбцу присваивается имя «Инспектор». Результат запроса (см. Рис. 5.5)
SELECTdbo.Inspector_GIMS.familia+dbo.Inspector_GIMS.imya+dbo.Inspector_GIMS.otchestvoas Инспектор, uk_sud_bileta,uk_sudna,data_vidachi
FROM dbo.Inspector_GIMS INNER JOIN dbo.Sudovoi_bilet
ON dbo.Inspector_GIMS.uk_inspectora_gims=dbo.Sudovoi_bilet.uk_inspectora_gims
Рис. 5.5. Выборка из двух таблиц «Инспектор ГИМС» и «Судовой билет».
Результат запроса SELECT
Пример 3
Запрос на выборку из двух таблиц: «Судно» и «Двигатель». Данный запрос будет предоставлять информацию о количестве судов с двигателями каждой из марок. Для этого мы используем функцию COUNT. Результат запроса (см. Рис. 5.6)
SELECT dbo.Dvigatel.marka, COUNT(uk_sudna)AS
Количество судов с двигателями данной марки
FROM dbo.Dvigatel inner join dbo.Sudno
ON dbo.Dvigatel.uk_dvigatelya=dbo.Sudno.uk_dvigatelya
GROUP BY dbo.Dvigatel.marka
Рис. 5.6. Выборка из двух таблиц «Судно» и «Двигатель». Результат запроса SELECT и функции COUNT
6. Хранимые процедуры
Пример 1
Процедура с параметром @р делает запрос на выборку из таблиц «Инспектор», «Судовой билет». Данный запрос будет предоставлять информацию о количестве судовых билетов, оформленных определенным инспектором, указанным в параметре @р.
Заключение
Современные программные системы становятся сложнее, чтобы обеспечить возможность решения глобальных задач, например, таких, как создание единой системы управления предприятием. При разработке таких систем важно хорошо представлять современные подходы, существующие в этой области, и основные сложности этого процесса. Целью данного реферата являлось изучение задач и целей информационных систем. Помимо этого мы обратились к основным понятиям информационных систем и областям их применения. Данный материал может послужить базой для изучения основ построения информационных систем.
Список использованных источников
1. Гайдамакин Н.А. «Автоматизированные информационные системы, базы и банки данных. Вводный курс», Москва, «Гелиос АРВ» 2002. — 368.
2. Когаловский М.Р. «Перспективные технологии информационных систем», Москва, «ДМК Пресс» 2003. — 288.
3. Петров В.Н. «Информационные системы», Москва, «Питер» 2003 — 688.
Размещено на