- •Курсовой проект
- •Реферат
- •Содержание
- •Введение
- •Создание базы данных
- •Концептуальная модель базы данных «Магазин»
- •Создание базы данных в ms sql Server
- •Создание таблиц
- •Заполнение таблиц базы данных информацией
- •Создание внешних ключей
- •Выбор значений полей из таблиц бд для получения списка отгрузок
- •Разграничение прав доступа
- •Резервное копирование и восстановление
- •Использование команд backup и restore
- •Заключение
- •Список используемой литературы
Создание базы данных
Концептуальная модель базы данных «Магазин»
Проектирование базы данных представляет процесс создания схемы БД и определения ограничений, необходимый для её реализации в MS SQL Server. Схему БД необходимо создать с помощью построения ER-модели (модель сущность-связь, англ. entity-relationship model, ERM). ER-модель – модели данных, позволяющей описывать концептуальные схемы предметной области и обычно использующейся при высокоуровневом (концептуальном) проектировании баз данных.
На рисунке 1 представлена ER-модель базы данных «Магазин» для определения ключевых сущностей предметной области и обозначения связей, установленных между ними.
База данных содержит шесть таблиц:
Покупатель (Purchaser) - с данными о покупателях (юридических лицах), названия фирмы, ИНН, адреса расчетного счета и банка, через который осуществляется перевод платежей.
Договора (Document) – информация о дате заключения договора, идентификационном номере клиента, с которым был заключен договор и о сумме договора.
Товар (Product) – наименование товара, цена, единица измерения товара, НДС.
Поставки (Delivery) – идентификационные номера договора, продуктов, даты поставок, минимальные поставки, количество поставок, сумма поставки .
Склад (Storage) – наименование склада, ответственное лицо, адрес склада.
Накладная (Bill) – содержит информацию о номере накладной, дата отгрузки, идентификационный номер договора, сумма по накладной
Отгрузка (Shipment) – содержит идентификационные номера покупателей, договоров, складов, накладных.
Создание базы данных в ms sql Server
Реализация БД осуществляется в Microsoft SQL Server — системе управления реляционными базами данных (СУБД), разработанной корпорацией Microsoft. Основным используемым языком запросов является Transact-SQL, созданный совместно Microsoft и Sybase. Transact-SQL представляет собой реализацию стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия, успешно конкурирует с другими СУБД в этом сегменте рынка. С помощью запросов на этом языке в курсовом проекте создаются все необходимые элементы.
Непосредственно файлы базы данных «Магазин» создаются следующим запросом с помощью оператора CREATE DATABASE:
CREATE DATABASE Shop ON
( NAME = N'Shop', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Shop.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Shop_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Shop_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
После выполнения запроса в указанной директории создаются файлы базы данных с расширением .mdf и .ldf (рисунок 2), для хранения данных и журнала транзакций соответственно.
Рисунок 2- Файлы базы данных с расширением .ldf и .mdf
Создание таблиц
Следующим шагом является создание таблиц, используя ER-модель, и настройка взаимосвязей между ними с помощью определения ограничений (главных (PK – Primary Key) и внешних (FK – Foreign Key) ключей). Для создания таблиц используется оператор CREATE TABLE.
Запрос для создания таблицы «Покупатели», содержащей информацию о покупателях магазина, выглядит следующим образом:
CREATE TABLE Purchaser(
PurchaserID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
INN BIGINT NOT NULL,
NamePurchaser VARCHAR(50) NOT NULL,
AdressPurchaser VARCHAR(50) NOT NULL,
PaymentAccount INT NOT NULL,
Bank VARCHAR(50) NOT NULL
)
GO
Договора хранятся в таблице «Договора», запрос для создания которой представлен ниже:
CREATE TABLE Document (
DocumentID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
DateDocument date NOT NULL,
PurchaserID INT NOT NULL,
SumDocument money NOT NULL
)
GO
Информация о продуктах и их цене содердится в таблице «Товары», запрос для создания:
CREATE TABLE Product(
ProductID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
NameProduct VARCHAR (50)NOT NULL,
Price money NOT NULL,
Unit VARCHAR (50)NOT NULL,
NDS BIT NOT NULL
)
GO
Для хранения информации о погрузках, создается табличка «Погрузки» с запросом:
CREATE TABLE Delivery(
DeliveryID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
DocumentID INT NOT NULL,
ProductID INT NOT NULL,
DeliveryDate date NOT NULL,
MinDelivery INT NOT NULL,
AmountDelivery INT NOT NULL,
SumDelivery money NOT NULL)
GO
Груз поставляется со складов, информация о них, хранится в табличке «Склады», которая создается с помощью запроса:
CREATE TABLE Storage(
StorageID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
NameStorage VARCHAR (50)NOT NULL,
ResponsiblePerson VARCHAR (50)NOT NULL,
AdressStorage VARCHAR (50)NOT NULL
)
GO
Таблица «Отгрузки», в которой хранится список всех отгрузок магазина, создается запросом, представленным ниже:
CREATE TABLE Shipment(
ShipmentID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
PurchaserID INT NOT NULL,
DocumentID INT NOT NULL,
ProductID INT NOT NULL,
StorageID INT NOT NULL,
BillID INT NOT NULL
)
GO
С помощью вышеперечисленных запросов была создана структура базы данных, в которую теперь можно добавлять информацию.
