База данных

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 00:18, курсовая работа

Описание работы

В условиях увеличения информации, собираемой страховыми компаниями, и необходимости быстрой ее обработки повышается роль и значение баз данных. Эффективность работы компании во многом зависит от грамотного проектирования БД. В этой связи вопросы, связанные с изучением СУБД и разработкой баз данных, приобретают огромное значение.

Содержание работы

Введение 5
1 Общие сведения 6
2 Разработка базы данных и интегрирование информационного приложения “Страховая компания” 14
2.1 Постановка задачи 14
2.1.1 Анализ предметной области 14
2.1.2 Анализ информационных задач и круга пользователей системы 15
2.1.3 Выработка требований и ограничений 16
2.2 Разработка базы данных в Microsoft SQL Server 2008 16
2.3 Создание проекта в среде разработки “Microsoft Visual Studio 2008” 24
Заключение 29
Список использованных источников

Файлы: 1 файл

KURSOVAYa.doc

— 621.50 Кб (Скачать файл)

Оглавление

 

Введение                                                                                                    5

1 Общие сведения                                                                                      6

2 Разработка базы данных  и интегрирование информационного приложения “Страховая компания”                                                                    14

2.1 Постановка задачи                                                                                14

2.1.1 Анализ предметной области                                                              14

2.1.2 Анализ информационных  задач  и  круга  пользователей  системы   15

2.1.3 Выработка требований  и ограничений                                              16

2.2 Разработка базы  данных в Microsoft SQL Server 2008                          16

2.3 Создание проекта в среде  разработки “Microsoft Visual Studio 2008”          24

Заключение                                                                                                29

Список использованных источников                                                         30

 

 

Введение

 

В условиях увеличения информации, собираемой страховыми компаниями, и  необходимости быстрой ее обработки  повышается роль и значение баз данных. Эффективность работы компании во многом зависит от грамотного проектирования БД. В этой связи вопросы, связанные с изучением СУБД и разработкой баз данных, приобретают огромное значение.

Актуальность данных вопросов определили выбор темы курсовой работы.

Целью работы является разработка базы данных для информационной системы «Страховая компания». В качестве инструмента для разработки была выбрана система управления базами данных MS SQL Server 2008, которая является одним из лидеров в области СУБД и предоставляет все средства для надежного, безопасного и простого ведения баз данных.

 

 

 

1 Общие сведения

 

Язык SQL (Structured Query Language - структурированный  язык запросов) представляет собой  стандартный высокоуровневый язык описания данных и манипулирования  ими в системах управления базами данных (СУБД), построенных на основе реляционной модели данных.

Язык SQL был разработан фирмой IBM в конце 70-х годов. Первый международный стандарт языка был  принят международной стандартизирующей  организацией ISO в 1989 г. , а новый (более полный) - в 1992 г. В настоящее время все производители реляционных СУБД поддерживают с различной степенью соответствия стандарт SQL92.

Единственной структурой представления данных (как прикладных, так и системных) в реляционной  базе данных (БД) является двумерная таблица. Любая таблица может рассматриваться как одна из форм представления теоретико-множественного понятия отношение (relation), отсюда название модели данных - "реляционная".

В реляционной модели данных таблица обладает следующими основными свойствами:

- идентифицируется уникальным именем;

- имеет конечное (как правило, постоянное) ненулевое количество столбцов;

- имеет конечное (возможно, нулевое) число строк;

- столбцы таблицы идентифицируются своими уникальными именами и номерами;

- содержимое всех ячеек столбца принадлежит одному типу данных (т.е. столбцы однородны), содержимым ячейки столбца не может быть таблица;

- строки таблицы не имеют какой-либо упорядоченности и идентифицируются только своим содержимым (т.е. понятие "номер строки" не определено);

- в общем случае ячейки таблицы могут оставаться "пустыми" (т.е. не содержать какого-либо значения), такое их состояние обозначается как NULL.

Примечание. Необходимо иметь в виду, что видимая пользователям  СУБД логическая организация данных (в нашем случае с помощью реляционной модели) может очень слабо коррелироваться с их физической организацией в памяти ЭВМ.

На содержимое таблиц допустимо накладывать ограничения  в виде:

- требования уникальности содержимого каждой ячейки какого-либо столбца и/или совокупности ячеек в строке, относящихся к нескольким столбцам;

- запрета для какого-либо столбца (столбцов) иметь "пустые" (NULL) ячейки.

Ограничение в виде требования уникальности тесно связано с  понятием ключа таблицы. Ключом таблицы называется столбец или комбинация столбцов, содержимое ячеек которого(ых) используется для прямого доступа ("быстрого" определения местоположения) к строкам таблицы. Различают ключи первичный (он может быть только единственным для каждой таблицы) и вторичные. Первичный ключ уникален и однозначно идентифицирует строку таблицы. Столбец строки, определенный в качестве первичного ключа, не может содержать "пустое" (NULL) значение в какой-либо своей ячейке. Вторичный ключ определяет местоположение, в общем случае, не одной строки таблицы, а нескольких "подобных" (в любом случае ускоряя доступ к ним, хотя не в такой степени как ключ первичный).

Ключи используются внутренними  механизмами СУБД для оптимизации  затрат на доступ к строкам таблиц (путем, например, их физического упорядочения по значениям ключей или построения двоичного дерева поиска).

Основными операциями над  таблицами являются следующие.

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

Ограничение - построение новой таблицы из исходной путем включения в нее тех строк исходной таблицы, которые отвечают некоторому критерию в виде логического условия (ограничения).

Объединение - построение новой таблицы из 2-ух или более  исходных путем включения в нее всех строк исходных таблиц (при условии, конечно, что они подобны).

Декартово произведение - построение новой таблицы из 2-ух или более исходных путем включения  в нее строк, образованных всеми  возможными вариантами конкатенации (слияния) строк исходных таблиц. Количество строк новой таблицы определяется как произведение количеств строк всех исходных таблиц.

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

Примечание. Набор операций будет полным, если дополнить его  операциями пересечения и вычитания. Однако в данном пособии реализация этих операций в языке SQL не рассматривается.

Кроме перечисленных  выше в языке SQL реализованы операции модификации содержимого строк таблицы и пополнения таблицы новыми строками (что теоретически может рассматриваться как операция объединения), а также операции управления таблицами.

Рассмотренные выше операции над таблицами реляционной БД обладая функциональной полнотой, будучи реализованы на практике в своем "чистом" каноническом виде, как правило, крайне неэкономичны (в первую очередь это относится к комбинации операций ограничения и декартового произведения). Разработчики реальных реляционных СУБД прибегают ко всевозможным приемам и "ухищрениям" для минимизации вычислительных затрат (в первую очередь, машинного времени) при выполнении этих операций. Общим способом, нашедшим отражение в языке SQL, повышения эффективности выполнения запросов в реляционных СУБД  являются использование ключей индексов.

Индексом называется скрытая от пользователя вспомогательная  управляющая структура, обеспечивающая прямой (или "квази"-прямой) метод  доступа к строкам таблицы, позволяющий  исключить последовательный просмотр всех строк таблицы для обнаружения отвечающих некоторому критерию поиска. Индексы неявным образом (скрытно от пользователя) автоматически создаются для всех ключей таблицы.

В настоящее время  наибольшее распространение получили реляционные SQL СУБД двух групп:

- мощные крупные коммерческие СУБД, ориентированные на хранение огромных объемов информации (от гигабайт);

- мобильные компактные свободно распространяемые (в том числе и в исходных кодах) СУБД, использование которых оправдано и для БД объемом всего лишь в десятки килобайт.

Наиболее известными СУБД первой группы являются:

- Sybase SQLserver фирмы Sybase, Inc.;

- Oracle фирмы Oracle Corporation;

- Ingres фирмы Computer Associates International;

- Informix фирмы Informix Corporation.

 К наиболее популярным СУБД второй группы относятся:

- PostgreSQL организации PostgreSQL;

- microSQL фирмы Hughes Technologies Pty. Ltd.;

- mySQL фирмы T.C.X DataKonsult AB.

Все перечисленные выше СУБД построены  по принципу "клиент-сервер", кА это показано на рисунке.

SQL-сервер реализует собственно хранение данных и манипулирование ими. Он принимает запросы на языке SQL от своих клиентов, выполняет их и возвращает результаты (чаще всего в виде вновь построенных таблиц) клиентам. Для общения с клиентами используется специальный протокол (как правило, реализованный в виде протокола прикладного уровня стека сетевых протоколов TCP/IP).

Клиентскую часть СУБД составляют клиенты трех основных типов.

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

- ИПП-клиенты, обеспечивающие интерфейс  прикладного программирования (ИПП)  прикладным программам, использующим  средства SQL-сервера. Такой ИПП  может быть средством общения  прикладной программы с SQL-сервером на языке SQL или набором стандартных функций доступа к реляционной SQL БД без формирования символьных строк запросов (например, стандартный интерфейс ODBC).

- WWW-клиенты, встраиваемые в World Wide Web-сервера и обеспечивающие  доступ к информационным возможностям SQL-сервера пользователям сети Internet по протоколу HTTP (протоколу передачи гипертекстовых документов).

Команды SQL делятся на функциональные группы, что облегчает  из запоминание. Вот эти группы:

- Определение данных (Data Definition). Все основные СУБД, являются так называемыми платформами баз данных. Это означает, что они предоставляют среду, очень хорошо поддерживающие работу с таблицами, но не содержит никаких заранее созданных таблиц. Вы должны сами определять состав и конфигурацию хранимых данных (т.е. их тип и т.д.). Для этого в SQL существует ряд специальных команд: CREATE, ALTER, DROP, RENAME и TRUNCATE.

Эти команды входят в группу, называемых языком определения данных (DDL, Data Definition Language).

- Манипулирование данными (Data Manipulation)

- Управление данными (Data Control). Допустим, вы научились создавать таблицы. Что же дальше? Разумеется поместить в них данные. В SQL есть команда INSERT, позволяющая добавлять данные в таблицы. После того как данные вставлены, их можно изменять, используя команду UPDATE, или удалять, используя команду DELETE.

Эта категория команд называется языком манипулирования данными (DML, Data Manipulation Language).

- Выборка данных (Data Retrieval). Смысл помещения информации в базу данных состоит в том, чтобы получить ее обратно контролируемым образом. В этой категории всего одна команда – SELECT, но она имеет широкий набор параметров, обеспечивающих огромную гибкость. Вероятно, именно эту команду вы будете использовать чаще всего, особенно если планируете обращаться к SQL из другого языка программирования, такого, как Java, C++ или Pascal.

- Управление транзакциями (Transaction Control). SQL позволяет отменять любые из последних команд языка манипулирования данными (DML) до того, как они будут применены к базе данных. После выполнения одной, или нескольких команд DML вы можете ввести либо команду COMMIT для сохранения изменений в базе данных, либо команду ROLLBACK для их отмены («отката»).

Отмена возможна на разных уровнях: вы можете отменить самую последнюю транзакцию DML, несколько последних транзакций или выполнить отмену на любую нужную глубину. Однако для того, чтобы выполнять многоуровневый повтор, требуется несколько больше предварительных действий, чем в вашем любимом текстовом процессоре. Если вы хотите иметь возможность отката к промежуточным точкам, они должны быть предварительно отмечены с помощью команды SAVEPOINT.

Возможность предоставлять  некоторым пользователям доступ к определенным таблицам, в то время, как другим это запрещено, обеспечивается за счет присваивания пользователям  привилегий на таблицы или действия. Существуют два вида привилегий:

- объектная

- системная

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

Системная привилегия, напротив, разрешает пользователю выполнять  действия определенного типа во всей базе данных.

Привилегии базы данных присваиваются и удаляются с помощью SQL-команд GRANT и REVOKE, соответственно. Эти команды относятся к категории, называемой языком управления данными (DCL, Data Control Language).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Разработка базы данных и интегрирование информационного приложения “Страховая компания”

Информация о работе База данных