Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Автоматизированного проектирования

Поиск

Министерство сельского хозяйства РФ

Федеральное государственное образовательное учреждение

высшего профессионального образования

«Пермская государственная сельскохозяйственная академия

имени академика Д. Н. Прянишникова»

 

Кафедра: Информационных технологий и

Автоматизированного проектирования

 

 

КУРСОВОЙ ПРОЕКТ

по дисциплине «Системное программирование»

 

на тему: «Проектирование базы данных «Библиотека» с использованием программного продукта Microsoft SQL Server 2008»

 

 

       
   
Проект выполнил: студент факультета Прикладной информатики специальности 230201 группы ИС – 41/А-07 Аглуллина Лилия Рафиковна   Руководитель: преподаватель кафедры ИТАП Сукрушев А.В.
 
Оценка ……………………………… ………………………………………… (дата защиты) ………………………………………… (подпись преподавателя)
 

 

 


Пермь 2010

Содержание

 

Введение. 3

1 Подготовительная работа. 4

1.1 Программные продукты, используемые при проектировании базы данных. 4

1.2 Создание структуры базы данных. 5

2 Проектирование базы данных. 7

2.1 Создание базы данных. 7

2.2 Создание таблиц. 7

2.3 Заполнение таблиц. 9

2.4 Создание триггеров. 9

2.5 Создание пользователей. 12

2.5.1 Создание пользователей в операционной системе. 12

2.5.2 Создание пользователей внутри SQL Server 13

2.6 Резервное копирование базы данных. 19

2.7 Создание репликации. 21

3 Создание запросов. 24

3.1 Описание языка Transact-SQL.. 24

3.2 Создание запросов к базе данных. 24

3.3 Создание представлений. 25

3.4 Создание функции. 26

3.5 Создание процедур. 27

3.6 Экспорт данных в MS Excel 28

Заключение. 31

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

 

Введение

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

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

В соответствии с заданием курсового проектирования следует создать базу данных (БД) «Библиотека» с использование программного проекта Microsoft SQL Server.

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

Проектирование базы данных «Библиотека» ведется для упрощения работы библиотекаря со всем ассортиментом предложенных книг и учебных пособий, а также для учёта взятых и оставшихся в наличии книг.

Актуальность разработки программы заключается в следующем:

• база данных «Библиотека» представляет собой программу для управления базой данных;

• ­ программа полностью автоматизирует труд оператора ПЭВМ: автоматически заносит вводимые пользователем данные в таблицы базы данных, изменяет структуру таблиц (добавление/удаление записей);

• ­при использовании программы значительно снижается трудоёмкость ведения базы данных взятых и оставшихся книг.

 

 

Подготовительная работа

Программные продукты, используемые при проектировании базы данных

Разработаем базу данных с помощью программного продукта Microsoft SQL Server 2008, а структуру базы данных создадим в программном продукте AllFusion ERwin Data Modeler. Microsoft SQL Server 2008 - это надежная, производительная и интеллектуальная платформа данных, способная отвечать нуждам наиболее ресурсоемких бизнес-приложений. Она позволяет сократить время и издержки на разработку и сопровождение приложений, а также предоставлять практически применимую информацию на каждое рабочее место предприятия.

Система SQL Server 2008 отталкивается от концепции платформы данных Майкрософт: она упрощает управление любыми данными в любом месте и в любой момент времени. Система позволяет хранить в базах данных информацию, полученную из структурированных, полуструктурированных и неструктурированных источников, таких как изображения и музыка. В SQL Server 2008 имеется большой набор интегрированных служб, расширяющих возможности использования данных: можно составлять запросы, выполнять поиск, проводить синхронизацию, делать отчеты, анализировать данные. Все данные хранятся на основных серверах, входящих в состав центра обработки данных. К ним осуществляется доступ с настольных компьютеров и мобильных устройств. Таким образом, пользователь полностью контролируете данные независимо от того, где их сохранили.

Система SQL Server 2008 позволяет обращаться к данным из любого приложения, разработанного с применением технологий Microsoft.NET и Visual Studio.

SQL Server обеспечивает высокий уровень безопасности, надежности и масштабируемости для критически важных приложений.

AllFusion ERwin Data Modeler (ранее ERwin) - CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования деятельности предприятия.

AllFusion ERwin Data Modeler (ERwin) позволяет наглядно отображать сложные структуры данных. AllFusion ERwin Data Modeler имеет удобный для пользователя графический интерфейс, который упрощает разработку базы данных и автоматизирует множество трудоемких задач, уменьшая сроки создания высококачественных и высокопроизводительных транзакционных баз данных и хранилищ данных.

Проектирование базы данных

Создание базы данных

Создадим базу данных при помощи графического интерфейса SQL Server Management Studio. Щелкнем правой кнопкой мыши по контейнеру Database в Object Explorer и в контекстном меню выберем New Database (Новая база). Откроется диалоговое окно New Database, в левой части этого диалогового окна видим три вкладки: General, Filegroups, Options.На вкладке General зададим имя базы данных Library.На вкладке Filegroups, определим, к какой файловой группе будет относиться файл базы данных. Файловая группа (Filegroup) – это способ организации файлов БД. По умолчанию для любой базы данных создается файловая группа PRIMARY, и все создаваемые файлы будут относиться именно к ней. В создаваемой БД все таблицы можно условно поделим на две группы:• пользовательские таблицы, которые постоянно изменяются пользователями;• таблицы справочника, которые меняются очень редко.

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

 

Создание таблиц

Создадим таблицы при помощи оператора CREATE TABLE языка Transact-SQL. CREATE TABLE создает новую таблицу, ее столбцы и ограничения целостности в существующей базе данных.

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

· PRIMARY KEY (первичный ключ) - уникально идентифицирует каждую строку таблицы. Значение в этом столбце либо в упорядоченном наборе столбцов не могут повторяться в более чем одной строке. Столбец PRIMARY KEY определен только с атрибутом NOT NULL. Таблица может иметь только один PRIMARY KEY, который может быть определен на одном или более столбцов;

· ограничения FOREIGN KEY задают и обеспечивают связи между таблицами. Справочные ограничения гарантируют, что значения в наборе столбцов, которые определены в FOREIGN KEY принимают те же самые значения, которые присутствуют в столбце PRIMARY KEY в справочной таблице.

При создании пользовательских таблиц определим, что они будут принадлежать к файловой группе USERS (по умолчания файловая группа PRIMARY). Для этой цели в команде CREATE TABLE используется ключевое слово ON с указанием имени файловой группы.

Далее рассмотрим пример создания таблицы Books:

CREATE TABLE Books --имя таблицы

(

Book_ID nchar(6) PRIMARY KEY, /*символьный тип данных длиной в 6 символов, первичный ключ*/

Theme nchar(3) not null /*символьный тип данных длиной в 6 символов, не может принимать значение null*/

FOREIGN KEY REFERENCES Theme(Theme_ID)

ON DELETE NO ACTION, --установление вторичного ключа

Autor text, --текстовый тип данных

Title text, --текстовый тип данных

Mockery int not null --целочисленный тип данных, не может принимать значение null

FOREIGN KEY REFERENCES Mockery(Mockery_ID)

ON DELETE NO ACTION, --установление вторичного ключа

Year_Edition date, --тип данных дата

Page int, --числовой тип данных

Cost money, --денежный тип данных

Edition int not null --целочисленный тип данных, не может принимать значение null

FOREIGN KEY REFERENCES Type_Edition(Edition_ID)

ON DELETE NO ACTION, --установление вторичного ключа

Quantity int, --целочисленный тип данных

Storage int not null --целочисленный тип данных, не может принимать значение null

FOREIGN KEY REFERENCES Storage(Storage_ID)

ON DELETE NO ACTION --установление вторичного ключа

)

ON USERS --принадлежность таблицы к файловой группе USERS

 

Заполнение таблиц

Заполнение таблиц осуществим с помощью оператора INSERT INTO. Таблицу Books в базе данных Library заполним следующим образом:

INSERT INTO Books

VALUES

('3297P8','A20','ProidakovI.V.','Englishvocabulary','145','2004','864','236.60','3','30','1'),

('6332H4','H91','Zyev M.N','History of Russia','308','2007','634','160.90','2','75','1'),

('1237F4','F12','AlekseevP.V.','The textbook on philosophy','546','2010','328','129.50','3','10','4'),

('4519L9','L45','Eremin N.P.','Latin language','546','2003','498','210.60','2','5','4'),

('1359S1','S92','KravchenkoA.I.','Sociology','800','2005','136','110.00','3','70','1'),

('0047S3','I41','SmirnovaG.N.','Designing of information systems','211','2001','512','156.00','2','50','1'),

('8830P4','P10','Shebetko A.I.','Test','422','1995','198','39.20','4','10','2'),

('3385A0','A20','LvovV.M.','Computer&InternetDictionary','145','1995','574','320.50','3','12','1'),

('6339I5','H91','Orlov A.S.','History of Russia','789','2002','520','174.00','2','30','1'),

('4512I0','I41','Leontev V.I.','Personal Conputer','789','2008','800','549','5','3','2'),

('8854P0','P10','Leontev A.A.','Psychology of dialogue','800','1997','366','30.00','3','15','2'),

('1212G8','F12','Grek O.V.','Philosophy','985','2000','230','149.50','1','10','3'),

('4120G1','I41','Grekyla A.N.','Informatics','800','2010','20','56.00','6','5','2'),

('1357S0','L45','Somov O.A.','Latin language','789','2007','156','200.00','3','2','4'),

('1134S6','S92','Soley N.A.','Sociology','926','1998','348','410.00','4','15','1');

 

Создание триггеров

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

Для базы данных Library создадим три триггера:

1) триггер типа UPDATE печатает определенный текст при каждой модификации таблицы Books:

--создание триггера TR_Print_Update

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'Print_Update' AND type = 'TR')

DROP TRIGGER Print_Update

GO

CREATE TRIGGER TR_Print_Update

ON Books

FOR UPDATE

AS

PRINT 'The Books table was updated'

GO

Чтобы проверить работу триггера, выполним модификацию строки:

UPDATE Books

SET Mockery=145

WHERE Year_Edition='2005'

Будет возвращено сообщение The Books table was updated (1 row(s) affected), так как в результате выполнения оператора UPDATE был запущен триггер. В данном триггере мы задали вывод сообщения, чтобы можно было увидеть работу триггера;

2) триггер типа DELETE будет сохранять все строки, удаленные из таблицы Books_Delivery, в таблицу Books_Delivery_Backup для последующего анализа данных. Для реализации триггера используем программу приведенную ниже:

-- создание таблицы Books_Delivery_Backup

CREATE TABLE Books_Delivery_Backup

(Subscriber int

FOREIGN KEY REFERENCES Subscriber(Subscriber_ID)ON DELETE NO ACTION,

Book_ID nchar(6) not null

FOREIGN KEY REFERENCES Books(Book_ID) ON DELETE NO ACTION,

Date_delivery date not null,

Date_return date not null,

Librarian int not null

FOREIGN KEY REFERENCES Librarian(Librarian_ID) ON DELETE NO ACTION

)

ON USERS

--создание триггера

IF EXISTS (SELECT name

FROM sysobjects

WHERE name = 'TR_Books_Delivery_Backup' AND type = 'TR')

DROP TRIGGER TR_Books_Delivery_Backup

GO

CREATE TRIGGER TR_Books_Delivery_Backup

ON Books_Delivery

FOR DELETE

AS

INSERT INTO Books_Delivery_Backup

SELECT * FROM deleted

GO

Отметим, что резервной таблице присвоены те же имена колонок и те же типы данных, что и в исходной таблице. Изначально таблица Books_Delivery_Backup не содержит записей, она будет заполняться по мере удаления записей из таблицы Books_Delivery;

3) триггер DELETE для таблицы Subscriber будет выводить информацию о попытках удаления и количестве удаляемых строк:

CREATE TRIGGER TR_Subscriber_Del

ON Subscriber

FOR DELETE AS

PRINT 'Popitka udalenia '+STR(@@ROWCOUNT)+' strok in table Subscriber'

PRINT 'User '+CURRENT_USER

IF CURRENT_USER<>'dbo'

BEGIN

PRINT 'Udalenie zapresheno'

ROLLBACK TRANSACTION

END

ELSE

PRINT 'Udalene razresheno'

Данный триггер будет выводить информацию о количестве строк, которое пытается удалить пользователь, и имя пользователя, выполнившего команду DELETE. Если пользователь не 'dbo', то удаление запрещается и выдается соответствующее предупреждение.

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

--добавление строки

INSERT INTO Subscriber

VALUES ('13000','Aglullina','Liliya','Rafikonvna','02-02-1990','Gremychinsk, Vostochnaya 6-3','570402','Perm Agricultural Academy');

--удаление строки

DELETE FROM subscriber WHERE Subscriber_ID='13000'

В результате выполнения триггера будет выведена следующая информация:

Popitka udalenia 1 strok in table Subscriber

User dbo

Udalene razresheno

(1 row(s) affected)

 

Создание пользователей

Создание репликации

Создадим репликацию транзакций для таблиц Books и Subscriber в базе данных Library. Сделаем так, что все изменения, которые вносятся в любую из этих таблиц, должны не позднее, чем через 10 минут отобразиться в одноименных таблицах новой базы данных Lib_Repl на сервере NY-SQL-01.

Настройку репликации начнем с настройки распространителя. Настройку распространителя осуществим при помощи мастера Configure Distribution Wizard. Откроем контейнер Replication (Репликация) в Object Explorer - Configure Distribution (Настроить распределение).

На первом экране мастера Distributor (Дистрибьютор) определим, что наш сервер будет выполнять роль распространителя для самого себя, поэтому выберем первый вариант.

На следующем экране мастера Snapshot Folder (Каталог моментальных снимков) определим каталог, в который будут помещаться моментальные снимки данных. Оставить каталог, предлагаемый по умолчанию.

На следующем экране Distribution Database (База данных распределения) определим имя и местонахождение файлов для создаваемой базы данных распределения.

Далее на экране Publishers (Издатели) выберем сервер NY-SQL-01, который сможет использовать этот распространитель.

На последнем экране мастера Wizard Actions (Действия мастера) дадим команду на настройку распространителя и создание базы данных распределения

После этого, нажмем кнопку Finish (Завершить) и настройка распространителя будет закончена.

Следующее действие, которое выполним после настройки распространителя - это создадим публикации. Публикацию создадим при помощи мастера, откроем контейнер Replication - Local Publications (Репликация - Локальные публикации) - New Publication (Новая публикация) в SQL Server Management Studio.

На экране Publication Databases (Базы данных публикации) выберем базу данных Library с информацией для публикации.

На следующем экране Publication Type (Тип публикации) выберем тип публикации Transactional Publication (Транзакционная публикация).

На экране Articles (Статьи) создадим статью для публикации. Для этого в списке объектов раскроем узел Tables (Таблицы) и установим флажки напротив таблиц Books и Subscriber.

На следующем экране Snapshot Agent настроим параметры запуска агента снятия моментальных снимков. По умолчанию переключатель стоит в положении Create a snapshot immediately (Создать моментальный снимок немедленно). Это значит, что моментальный снимок данных публикации будет сделан сразу после публикации и будет сохраняться в папке, чтобы можно было бы настраивать подписки.

На следующем экране Agent Security (Безопасность агента) выберем учетные записи, от имени которых будут работать Snapshot Agent и Log Reader Agent. Настроим работу агентов от имени учетной записи SQL Server Agent. Для этого на экране настройки безопасности агентов, нажмем на кнопку Security Settings (Настройки безопасности), выберем флажок Run under the SQL Service Agent Account (Запускать под учетной записью SQL Service Agent).

После этого нажмем кнопку Finish, определим имя для публикации (назовите ее Lib_publication) и выполним ее создание.

Далее создадим подписку. Подписку настроим при помощи мастера подписки Local Subscriptions (Локальные подписчики) для сервера - New Subscriptions (Новая подписка) контекстного меню контейнера

На экране мастера Distribution Agent Location (Местонахождение Distribution Agent) выберем тип создаваемой подписки - принудительная.

На следующем экране Subscribers (Подписчики) выберем сервер NY-SQL-01, который будет подписчиком для нашей публикации.

Далее выберем базу данных, на которую будут передаваться реплицируемые данные. Выберем значение New Database (Новая база данных) и создать новую базу данных – Lib_Repl.

На следующем экране Distribution Agent Security (Безопасность Distribution Agent) настроим учетную запись для Distribution Agent и параметры его подключения к распространителю и подписчику. В данном случае используем для него ту же учетную запись, что и для SQL Server Agent.

Далее настроим расписание репликации. Установим, что репликация будет производиться с интервалом в 10 минут. Поэтому в списке Agent Schedule (Расписание агента) на экране Synchronization Schedule (Расписание синхронизации) выберем параметр Define Schedule (Определить расписание) и настройте параметры для создаваемого расписания: Frequency Occurs: Daily, Recurs every: 10 minutes;

На следующем экране мастера определим время инициализации базы данных подписчика. Выберем вариант - Immediately (Немедленно). На этом же экране при необходимости можно снять флажок Initialize (Инициализация).

Далее нажмем кнопку Finish и произведем создание подписки. В базе данных подписки будет автоматически создан требуемый набор таблиц и будет произведена загрузка данных в эти таблицы. Если же мы внесем какие-либо изменения в опубликованные таблицы источника, то в течение 10 минут эти изменения будут отреплицированы и отображены в базе данных подписчика.

 

Создание запросов

Описание языка Transact-SQL

Язык SQL является стандартом для всех СУБД. SQL Server 2008 использует модифицированную версию языка - Transact-SQL (T-SQL), дополненную специфическими функциями администрирования и управления проектами.

Transact-SQL – это усовершенствование стандартного языка программирования SQL. Язык T-SQL применяется для взаимодействия между приложениями и SQL Server. В T-SQL имеются все возможности языков DDL и DML стандартного SQL, а кроме этого имеются также расширенные функции, системные хранимые процедуры и конструкции для программирования (такие, как IF and WHILE), обеспечивающие большую гибкость программирования. По мере выхода новых версий SQL Server возможности T-SQL растут.

Язык DDL (data definition language, язык определения данных) применяется для определения объектов баз данных (таких как базы данных, таблиц и представления) и для управления этими объектами. Операторы языка DDL включают в себя команды CREATE, ALTER и DROP для каждого из объектов, с которым производится работа.

Язык DML (data manipulation language, язык манипулирования данными) применяется для манипулирования данными, содержащимися в объектах базы данных, для чего применяются такие операторы, как SELECT, INSERT, UPDATE и DELETE. При помощи этих операторов можно соответственно выбирать строки с данными, вставлять новые строки, изменять имеющиеся строки и удалять ненужные строки.

 

Создание представлений

Представление – это виртуальная таблица, определяемая запросом, содержащим оператор SELECT. Эта виртуальная таблица состоит из данных одной или нескольких реальных таблиц, а для пользователей представление выглядит, как реальная таблица. Пользователи могут обращаться к этим виртуальным таблицам в операторах Transaсt-SQL таким же образом, как и к таблицам. К представлению можно применять операции SELECT, INSERT, UPDATE и DELETE.

Создание представлений осуществляется с помощью оператора CREATE VIEW языка T-SQL. Создадим три представления для разных таблиц базы данных Library:

1) представление по таблице Subscriber, в котором имеется доступ только к колонкам Subscriber_ID, Surname, First_Name, Name, используя оператор T-SQL:

CREATE VIEW Subscriber_vw

AS

SELECT Subscriber_ID,

Surname,

First_Name,

Name

FROM Subscriber

2) представление для таблицы Books, при котором выбраны все колонки данной таблицы, но есть условие на тип издания – учебное пособие (Books.Edition=3) и издательство (Books.Mockery=145). Напишем следующий код:

CREATE VIEW View_1

AS

SELECT *

FROM Books

WHERE Books.Edition=3 and Books.Mockery=145

3) представление для таблицы Books, при котором выбраны колонки Book_ID, Theme, при условии тема - English language (Books.Theme='A20')

CREATE VIEW View_2

AS

SELECT Books.Book_ID,

Books.Theme

FROM Books

WHERE Books.Theme='A20'

 

Создание функции

Выполним две функции:

1) найдем сочетание символов "st" в строковом выражении. Для этого используем функцию – CHARINDEX, которая возвращает начальную позицию подстроки в строке. Функция CHARINDEX имеет следующий синтаксис:

CHARINDEX (искомое_выражение, строковое_выражение[, стартовая_позиция])

Выполним запрос:

SELECT Title

FROM Books

WHERE CHARINDEX('st', Title) > 0

Данный запрос будет выводить те названия книг, в которых имеется сочетание символов "st". Если искомая строка не будет обнаружена, то функция CHARINDEX возвращает 0. Результат выполнения запроса будет содержать следующие строки (см. рисунок 9).

 

 

Рисунок 9

 

 

2) создадим функцию DATEADD, возвращающую дату и время.

Синтаксис DATEADD (datepart, number, date)

Данная функция возвращает значение типа datetime, которое получается добавлением к дате date количества интервалов типа datepart, равного number. Можно к заданной дате добавить любое число лет, дней, часов, минут и т.д.

Пусть сегодня 18/12/2010, и мы хотим узнать, какой день будет через неделю. Напишем следующий код:

SELECT DATEADD (day, 7, current_timestamp)AS Data

В результате получим (см. рисунок 10).

 

 

Рисунок 10

 

SELECT DATEADD (ww, 1, current_timestamp)AS Data

Получим следующий результат (см. рисунок 11).

 

 

Рисунок 11

 

Результат выполнения этих двух запросов примерно одинаков.

 

Создание процедур

Процедура – это набор операторов T-SQL, который компилируется системой SQL Server в единый "план исполнения". Этот план сохраняется в кэш-области памяти для процедур при первом выполнении хранимой процедуры, что позволяет использовать этот план повторно; системе SQL Server не требуется снова компилировать эту процедуру при каждом ее запуске. Все операторы процедуры обрабатываются при вызове процедуры.

Создадим хранимую процедуру с использованием оператора T-SQL CREATE PROCEDURE. Оператор CREATE PROCEDURE имеет следующий синтаксис:

CREATE PROC[EDURE] имя_процедуры [ {@имя_параметра тип_данных} ] [= по_умолчанию][OUTPUT] [,...,n]AS оператор(ы)_t-sql

Создадим процедуру, которая будет выбирать (и возвращать) три колонки данных для таблицы Library, в которой значение колонки Librarian=1. Ниже описан код программы, который наберем в окне запроса:

IF EXISTS (SELECT name

FROM sysobjects

WHERE name = 'Library_Procedure' AND type = 'P')

DROP PROCEDURE Library_Procedure

CREATE PROCEDURE Library_Procedure

AS

SELECT Subscriber, Book_ID, Librarian

FROM Books_Delivery

WHERE Librarian=1

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

Library_Procedure

GO

Экспорт данных в MS Excel

Экспорт данных из MS SQL Server в MS Excel выполним с помощью программы SQL Server Import and Export Data. Откроем эту программу из меню Start – All programs – Microsoft SQL Server - Import and Export Data. Окно SQL Server Import and Export Data Wizard откроется автоматически (см. рисунок 12).

 

Рисунок 12

 

Создадим отчет, выгружающий информацию с SQL Server в файл Excel.

На первом экране мастера Choose a Data Source (Выберите источник данных) необходимо выбрать то место, откуда будут извлекаться. Выполним следующие настройки:

• Data source: SQL Server Native Client 10.0

• Server name: local

• Authentication: Use Windows Authentication

• Database: Library

На следующем экране мастера Choose a destination (Выберите назначение) выберем источник данных, в который данные будут перемещены. В данном случае выберем Microsoft Excel и введем путь к файлу Excel (C:\Users\Administrator\Documents\Library.xls).

На следующем экране Specify Table Copy or Query (Укажите копирование таблицы или запрос) переставим переключатель в положение Write a query to specify the data to transfer (Написать запрос для выбора передаваемых данных), так как будем выгружать данные, возвращаемые запросом.

На следующем экране Provide a Source Query (Обеспечить запрос для источника) введем следующий текст запроса:

SELECT p.Subscriber, v.Autor v.Title, p.Date_delivery

FROM Books_Delivery as p

JOIN Books as v

ON (p.Book_ID=v.Book_ID)

WHERE p.Subscriber=13581

ORDER BY p.Date_delivery

В следующем диалоговом окне Select Source Tables and Views (Выберите таблицы и представления источника) не будем применять каких-либо настроек, поэтому нажимаем Next.

На следующем экране мастера Save and Execute Package (Сохранить и запустить пакет) выберем действие Run immediately (Выполнить немедленно) - то есть запустить пакет на выполнение сразу после завершения работы мастера.

Последнее, что сделаем, - запустим пакет на выполнение при помощи кнопки Finish (Завершить) и убедимся, что его сохранение и выгрузка данных происходят нормально.

Результат выполнения данного отчета будет выглядеть следующим образом (см. рисунок 13).

 

 

Рисунок 13

 

Аналогичным образом выполним отчет по таблицам Books и Books_Delivery базы данных Library в файл Library_1.

 

Заключение

В данном курсовом проекте была разработана база данных «Библиотека». Программа полностью автоматизирует труд библиотекаря и организует надежное хранение и обработку данных.

При разработке данного курсового проекта были приобретены навыки работы в MS SQL Server 2008 и AllFusion ERwin Data Modeler.

 

Министерство сельского хозяйства РФ

Федеральное государственное образовательное учреждение

высшего профессионального образования

«Пермская государственная сельскохозяйственная академия

имени академика Д. Н. Прянишникова»

 

Кафедра: Информационных технологий и

автоматизированного проектирования

 

 

КУРСОВОЙ ПРОЕКТ

по дисциплине «Системное программирование»

 

на тему: «Проектирование базы данных «Библиотека» с использованием программного продукта Microsoft SQL Server 2008»

 

 

       
   
Проект выполнил: студент факультета Прикладной информатики специальности 230201 группы ИС – 41/А-07 Аглуллина Лилия Рафиковна   Руководитель: преподаватель кафедры ИТАП Сукрушев А.В.
 
Оценка ……………………………… ………………………………………… (дата защиты) ………………………………………… (подпись преподавателя)
 

 

 


Пермь 2010

Содержание

 

Введение. 3

1 Подготовительная работа. 4

1.1 Программные продукты, используемые при проектировании базы данных. 4

1.2 Создание структуры базы данных. 5

2 Проектирование базы данных. 7

2.1 Создание базы данных. 7

2.2 Создание таблиц. 7

2.3 Заполнение таблиц. 9

2.4 Создание триггеров. 9

2.5 Создание пользователей. 12

2.5.1 Создание пользователей в операционной системе. 12

2.5.2 Создание пользователей внутри SQL Server 13

2.6 Резервное копирование базы данных. 19

2.7 Создание репликации. 21

3 Создание запросов. 24

3.1 Описание языка Transact-SQL.. 24

3.2 Создание запросов к базе данных. 24

3.3 Создание представлений. 25

3.4 Создание функции. 26

3.5 Создание процедур. 27

3.6 Экспорт данных в MS Excel 28

Заключение. 31

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

 

Введение

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

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

В соответствии с заданием курсового проектирования следует создать базу данных (БД) «Библиотека» с использование программного проекта Microsoft SQL Server.

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

Проектирование базы данных «Библиотека» ведется для упрощения работы библиотекаря со всем ассортиментом предложенных книг и учебных пособий, а также для учёта взятых и оставшихся в наличии книг.

Актуальность разработки программы заключается в следующем:

• база данных «Библиотека» представляет собой программу для управления базой данных;

• ­ программа полностью автоматизирует труд оператора ПЭВМ: автоматически заносит вводимые пользователем данные в таблицы базы данных, изменяет структуру таблиц (добавление/удаление записей);

• ­при использовании программы значительно снижается трудоёмкость ведения базы данных взятых и оставшихся книг.

 

 

Подготовительная работа



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 324; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.71.146 (0.012 с.)