Автотехцентр: база данных

Автор: Пользователь скрыл имя, 15 Сентября 2013 в 10:21, курсовая работа

Краткое описание

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

Оглавление

Введение…………………………………………………………………………4
1 Проектирование базы данных……………………………………………..5
1.1 Описание предметной области………………………………………...5
1.2 Инфологическая модель базы данных………………………………...6
1.3 Даталогическая модель базы данных………………………………….7
1.4 Стратегия резервного копирования и восстановления……………….9
2 Реализация базы данных…………………………………………………12
2.1 Характеристика используемой СУБД………………………………...12
2.2 Создание структуры базы данных……………………………………15
2.2.1 База данных и таблицы…………………………………………..15
2.2.2 Создание индексов……………………………………………….19
2.3 Создание представлений……………………………………………....21
2.3.1 Однотабличный запрос на выборку по условиям……………...21
2.3.2 Многотабличный запрос………………………………………....22
2.3.3 Запрос с использованием подзапроса.............................................22
2.3.4 Итоговый запрос……………………………………………….....23
2.4 Примеры запросов на модификацию данных………………………..24
2.4.1 Простые запросы…………………………………………………24
2.4.2 Запросы с использованием подзапросов………………………..26
2.5 Описание триггеров…………………………………………………....28
2.6 Создание пользователей и назначение привилегий………………….32
Заключение………………………………………………………………….37
Список использованной литературы……………………………………...38
Приложение 1. Пример инфологической модели………………………...39

Файлы: 1 файл

Avtotekhtsentr.doc

— 450.00 Кб (Скачать)

Конструкция BACKUP  указывает, что должна быть создана резервная копия всей базы данных. Если указан список файлов и файловых групп, то только они включаются в резервную копию. Во время создания полной или разностной резервной копии SQLServer создает резервную копию той части журнала транзакций, которая достаточна для создания согласованной базы данных во время ее восстановления.

Далее зададим модель восстановления, используя запрос и конструкцию ALTER DATABASE. Получаем:

USE master;

GO

ALTER DATABASE Автотехцентр

SET RECOVERY SIMPLE;

GO

Чтобы просмотреть  заданную для базы данных модель восстановления, можно использовать функцию DATABASEPROPERTYEX, которая извлекает параметры текущей базы даты или свойства указанной базы данных.

SELECT DATABASEPROPERTYEX('Автотехцентр','Recovery')

 

  1. Реализация базы данных

2.1. Характеристика используемой СУБД

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

Для разработки проектируемой базы данных будем  использовать MicrosoftSQLServer 2008 r2. Основным используемым языком является язык запросов — Transact-SQL. SQL (StructuredQueryLanguage — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.

Функции, которые  обеспечивает язык запросов SQL:

- определение, переопределение и удаление таблиц базы данных и других ее объектов (доменов, представлений, индексов, триггеров, сохраненных процедур, функций и т.д.);

- указание физической  организации данных;

- поддержка  ограничений целостности и непротиворечивости базы данных;

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

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

- поиск данных  в нескольких таблицах и упорядочение  полученных результатов;

- организация  резервного копирования и восстановления  базы данных;

- поддержка  целостности транзакций;

- поддержка  пользовательских процедур и  функций, которые расширяют функциональные возможности SQL.

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

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

Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS и Pascal.

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

Microsoft SQL Server 2008 r2 – это мощная и надежная система управления данными, обеспечивающая множество функций, защиту данных и высокую производительность для внедренных приложений-клиентов, «легких» веб-приложений и локальных хранилищ данных. SQL Server 2008 r2 предназначен для упрощенного развертывания и быстрого создания прототипов; его можно получить бесплатно и свободно распространять вместе с приложениями. Он разработан таким образом, чтобы полностью интегрироваться с другими продуктами, входящими в серверную инфраструктуру.

Имеются две формы SQL: Интерактивная и Вложенная. Большей  частью, обе формы работают одинаково, но используются различно. Интерактивный SQL используется для функционирования непосредственно в базе данных, чтобы производить вывод для использования его заказчиком. В этой форме SQL, когда вы введете команду, она сейчас же выполнится, и вы сможете увидеть вывод (если он вообще получится) - немедленно. Вложенный SQL состоит из команд SQL помещенных внутри программ, которые обычно написаны на некотором другом языке (типа КОБОЛА или Паскаля). Это делает эти программы более мощными и эффективным. Однако, допуская эти языки, приходится иметь дело со структурой SQL и стилем управления данных, который требует некоторых расширений к интерактивному SQL. Передача SQL команд во вложенный SQL является выдаваемой ("passedoff") для переменных или параметров используемых программой, в которую они были вложены.

SQL Server - это хорошо масштабируемый, полностью реляционный, быстродействующий многопользовательский сервер баз данных масштаба предприятия, способный обрабатывать большие объемы данных для клиент-серверных приложений.

Основные характеристики:

  • многопользовательская поддержка;
  • многоплатформность;
  • поддержка 64-разрядной архитектуры;
  • масштабируемость (многопроцессорная обработка и поддержка терабайтных БД
  • стандарт SQL92 (язык Transact SQL);
  • параллельные архивирование и восстановление БД;
  • репликация данных;
  • распределенные запросы;
  • распределенные транзакции;
  • динамические блокировки;
  • интеграция с IIS и InterDev.

В состав Microsoft SQL Server входят программы, позволяющие следить за текущим состоянием базы данных и измерять производительность, если это состояние меняется. Для наблюдения за Microsoft SQL Server можно использовать целый ряд инструментов и методик. Поняв способы мониторинга SQL Server, можно:

  • Определять возможности увеличения производительности. Например, выполняя мониторинг времени ответа для часто используемых запросов, можно определить, требуется ли изменить текст запроса или индексы таблицы.
  • Оценивать активность пользователей. Например, выполняя мониторинг пользователей, которые подключаются к экземпляру SQL Server, можно определить, правильно ли настроены параметры безопасности, и проверить работу приложений и систем разработки. Контролируя выполнение SQL-запросов, можно определить, правильно ли они написаны, и проверить результаты, которые они возвращают.
  • Устранять любые проблемы или отлаживать компоненты приложений, например хранимые процедуры.
    1. Создание структуры базы данных
      1. База данных и таблицы

В этом разделе  описывается создание базы данных в SQL Server 2008 r2 с помощью среды SQL ServerManagementStudio или Transact-SQL.

База данных создается  в два этапа:

  1. организация самой базы данных (*.mdf);
  2. организация принадлежащего ей журнала транзакций (*.ldf).

Оператор, отвечающий за создание базы данных в системе SQL-сервер называется CREATE DATABASE:

CREATE DATABASE Автотехцентр

ON PRIMARY (NAME=Avt1, FILENAME="C:\Автотехцентр\avt1.mdf",

SIZE=100MB, MAXSIZE=200MB, FILEGROWTH=20),

(NAME = Avt2, FILENAME ="C:\Автотехцентр\avt2.mdf",

SIZE=100MB, MAXSIZE=200MB, FILEGROWTH =20)

LOG ON

(NAME = Avtlog1, FILENAME ="C:\Автотехцентр\avtlog1.ldf",

SIZE=100MB, MAXSIZE=200MB, FILEGROWTH =20),

(NAME= Avtlog2, FILENAME ="C:\Автотехцентр\avtlog2.ldf",

SIZE=100MB, MAXSIZE=200MB, FILEGROWTH =20)

Подробно рассмотрев запрос, увидим, что имя проектируемой  базы данных будет Автотехцентр. ON – определяет список файлов на диске для размещения информации, хранящейся в базе данных. PRIMARY – определяет первичный файл. LOGON – определяет список файлов на диске для размещения журнала транзакций.  В параметрах NAME указывается логическое имя файла, в FILENAME – физическое имя файла, в SIZE – размер файла, в MAXSIZE – максимальный размер файла, в FILEGROWTH – величина прироста.

Далее создаем  таблицы базы данных, в данной БД 4 таблицы.

  1. Таблица «Клиенты»:

CREATE TABLE Клиенты

(Код_клиента int NOT NULL,

Фамилия varchar(50) NOT NULL,

Имя varchar(50) NOT NULL,

Отчество varchar(50) NOT NULL,

Марка_машины varchar(50) NOT NULL,

Телефон varchar(50) NOT NULL,

Адрес varchar(50) NOT NULL)

Далее добавляем  записи в таблицу: Оператор INSERT вставляет  новые строки в существующую таблицу. Форма данной команды INSERT ... VALUES вставляет  строки в соответствии с точно указанными в команде значениями.

Получим:

Insertinto Клиенты  (Фамилия, Имя, Отчество, Марка_машины, Телефон, Адрес)

Values ('Потапов', 'Алексей', 'Олегович', 'BMW X6', '23-16-71', 'Петровская 5-14')

….

Insertinto Клиенты  (Фамилия, Имя, Отчество, Марка_машины, Телефон, Адрес)

Values ('Акулов', 'Максим', 'Сергеевич', 'VolkswagenPoloSedan', '45-23-67', 'Магистральная  4-3')

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

Рисунок 2.2.1.1 – Таблица «Клиенты»

  1. Таблица «Специалисты»:

CREATE TABLE Специалисты

(Код_специалистаint NOT NULL,

Фамилияvarchar(50) NOT NULL,

Имяvarchar(50) NOT NULL,

Отчествоvarchar(50) NOT NULL,

Должностьvarchar(50) NOT NULL)

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

Рисунок 2.2.1.2 – Таблица «Специалисты»

  1. Таблица «Ремонт»:

CREATE TABLE Ремонт

(Код_ремонтаint NOT NULL,

Название varchar(50) NOT NULL,

Стоимость_ремонтаvarchar(10) NOT NULL)

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

Рисунок 2.2.1.3 – таблица «Ремонт»

  1. Таблица «Договор»:

CREATE TABLE Договор

(Код_договораint NOT NULL,

Код_специалистаint NOT NULL,

Код_клиентаint NOT NULL,

Код_ремонтаint NOT NULL,

Дата_ремонтаdatetime NOT NULL,

Время_ремонтаvarchar(20) NOT NULL)

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

Рисунок 2.2.1.4 – Таблица «Договор»

      1. Создание индексов

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

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

Индексы могут  существенно повысить производительность выполнения операций поиска и выборки данных.

Некоторые индексы  создаются автоматически, когда  задается  первичный ключ.  Это следующие индексы:

  1. PK_Клиенты – для таблицы Клиенты;
  2. PK_Специалисты – для таблицы Специалисты;
  3. PK_Ремонт – для таблицы Ремонт;
  4. PK_Договор – для таблицы Договор.

Типология индексов:

•Кластерные индексы. При определении такого индекса в таблице физическое расположение данных перестраиваются в соответствии со структурой индекса;

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