Автор: Пользователь скрыл имя, 02 Ноября 2012 в 17:03, курсовая работа
В настоящее время все большую актуальность приобретает использование при разработке приложений реляционных баз данных. Это связано с тем, что современные информационные системы имеют дело с большими объемами информации.
Введение………………………………………………………...………………
Задание на проектирование…………………..………………………....
Разработка структуры БД………………….…………………..………..
2.1 Описание предметной области………..………………………....
2.2 Анализ информационных потоков………………..……………..
2.3 Создание инфологической модели ………………………..…….
2.3.1 Процедура нормализации сущностей……………………...
2.4 Создание даталогической модели……………………..…………
2.5 Выбор технических и программных средств реализации БД и клиентского приложения………………………………………………..
Создание базы данных……………………………………………...…...
3.1 Описание структуры БД ………………………………………....
3.2 Описание свойств таблиц БД…………………………………….
3.3 Описание связей между таблицами БД и условий целостности данных………..……………………………………………………
3.4 Описание хранимых процедур…………………………………...
Создание пользовательского интерфейса информационной системы……………..................................................................................
4.1 Пользовательское меню …………………………………………
4.2 Формы как средство добавления, удаления, просмотра, изменений данных в БД…………………………………..……..
4.3 Формирование запросов к базе данных………………….……...
4.4 Формирование отчетов……….…………………………………..
4.5 Справочная система…………………….………………………...
Заключение……………………………………………………………………...
Литература………………………………………………………………………
Приложения……………………………………………………………………..
Приложение 1
CREATE DATABASE [Kassovie_operacii]
ON (NAME = N'Kassovie_operacii_Data', FILENAME = N'C:\Documents and
Settings\Еленочка\Рабочий
Таблица «Банки»
CREATE TABLE [Banki] (
[Kod_banka] [smallint] NOT NULL ,
[Naimen_banka] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
CONSTRAINT [PK_Banki] PRIMARY KEY CLUSTERED
(
[Kod_banka]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Таблица «Бухгалтерские счета»
CREATE TABLE [Buh_sch] (
[Kod_sch] [smallint] NOT NULL ,
[Naimen_sch] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
CONSTRAINT [PK_Buh_sch] PRIMARY KEY CLUSTERED
(
[Kod_sch]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Таблица «Документы»
CREATE TABLE [Doc] (
[Kod_doc] [smallint] NOT NULL ,
[Naimen_doc] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
CONSTRAINT [PK_Doc] PRIMARY KEY CLUSTERED
(
[Kod_doc]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Таблица «Движение»
CREATE TABLE [Dvigenie] (
[Date] [datetime] NOT NULL CONSTRAINT [Tek_data] DEFAULT (getdate()),
[Kod_kas] [smallint] NOT NULL ,
[priz_oper] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Kod_sch] [smallint] NOT NULL ,
[tip_oper] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Kod_sotr] [smallint] NOT NULL ,
[sum] [money] NOT NULL ,
[Kod_doc] [smallint] NOT NULL ,
[Num_doc] [smallint] NOT NULL ,
CONSTRAINT [FK_Dvigenie_Buh_sch] FOREIGN KEY
(
[Kod_sch]
) REFERENCES [Buh_sch] (
[Kod_sch]
) ON UPDATE CASCADE ,
CONSTRAINT [FK_Dvigenie_Doc] FOREIGN KEY
(
[Kod_doc]
) REFERENCES [Doc] (
[Kod_doc]
) ON UPDATE CASCADE ,
CONSTRAINT [FK_Dvigenie_Kassiri] FOREIGN KEY
(
[Kod_kas]
) REFERENCES [Kassiri] (
[Kod_kas]
) ON UPDATE CASCADE ,
CONSTRAINT [FK_Dvigenie_Podotch_lic] FOREIGN KEY
(
[Kod_sotr]
) REFERENCES [Podotch_lic] (
[Kod_sotr]
) ON UPDATE CASCADE
) ON [PRIMARY]
GO
Таблица «Кассиры»
CREATE TABLE [Kassiri] (
[Kod_kas] [smallint] NOT NULL ,
[FIO_kas] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
CONSTRAINT [PK_Kassiri] PRIMARY KEY CLUSTERED
(
[Kod_kas]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Таблица «Остатки»
CREATE TABLE [Ostatki] (
[Kod_kas] [smallint] NOT NULL ,
[Date] [datetime] NOT NULL CONSTRAINT [Tek_data_ost] DEFAULT (getdate()),
[ost_na_nach] [money] NOT NULL ,
[sum_prih] [money] NOT NULL ,
[sum_rash] [money] NOT NULL ,
CONSTRAINT [FK_Ostatki_Kassiri] FOREIGN KEY
(
[Kod_kas]
) REFERENCES [Kassiri] (
[Kod_kas]
) ON UPDATE CASCADE
) ON [PRIMARY]
GO
Таблица «Подотчетные лица»
CREATE TABLE [Podotch_lic] (
[Kod_sotr] [smallint] NOT NULL ,
[FIO_sotr] [varchar] (50) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Lic_sch] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Kod_banka] [smallint] NOT NULL ,
[Kod_podr] [smallint] NOT NULL ,
CONSTRAINT [PK_Podotch_lic] PRIMARY KEY CLUSTERED
(
[Kod_sotr]
) ON [PRIMARY] ,
CONSTRAINT [FK_Podotch_lic_Banki] FOREIGN KEY
(
[Kod_banka]
) REFERENCES [Banki] (
[Kod_banka]
) ON UPDATE CASCADE ,
CONSTRAINT [FK_Podotch_lic_Podrazd] FOREIGN KEY
(
[Kod_podr]
) REFERENCES [Podrazd] (
[Kod_podr]
) ON UPDATE CASCADE
) ON [PRIMARY]
GO
Таблица «Подразделения»
CREATE TABLE [Podrazd] (
[Kod_podr] [smallint] NOT NULL ,
[Naimen_podr] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[Kod_sotr] [smallint] NOT NULL ,
CONSTRAINT [PK_Podrazd] PRIMARY KEY CLUSTERED
(
[Kod_podr]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Список видов документов, участвующих в операциях на «I-ю» дату
SELECT Doc.Naimen_doc, Dvigenie.Date
FROM Doc, Dvigenie
WHERE Doc.Kod_doc=Dvigenie.Kod_doc AND Dvigenie.Date='2008.03.06'
Общая сумма прихода каждого из кассиров на текущий месяц
SELECT Kassiri.FIO_kas, sum(Ostatki.sum_prih)obw_sum_
FROM Kassiri, Ostatki
WHERE Kassiri.Kod_kas=Ostatki.Kod_
GROUP BY Kassiri.FIO_kas
Список сотрудников, внесших наличные деньги в кассу по приходному ордеру
SELECT Podotch_lic.FIO_sotr
FROM Podotch_lic, Dvigenie, Doc
WHERE Dvigenie.Kod_doc='1' AND Podotch_lic.Kod_sotr=Dvigenie.
GROUP BY Podotch_lic.FIO_sotr
Список документов, в названии которых встречается слово «. . .»
SELECT Doc.Naimen_doc
FROM Doc
WHERE Naimen_doc LIKE '%ордер%'
Вычислить остатки на конец дня каждого из кассиров
SELECT Ostatki.Date, FIO_kas, (Ostatki.ost_na_nach + Ostatki.sum_prih - Ostatki.sum_rash)ost_kon_dnya
FROM Ostatki, Kassiri
WHERE Kassiri.Kod_kas=Ostatki.Kod_
Отчет «I-го» кассира за «j-е» число
select date, fio_kas, priz_oper, naimen_sch, tip_oper, fio_sotr, Dvigenie.sum, naimen_doc, num_doc
from Dvigenie, Kassiri, podotch_lic, doc, buh_sch
where Dvigenie.Kod_kas='8'
and Kassiri.Kod_kas=Dvigenie.Kod_
Список подотчетных лиц «I-го» подразделения, участвующих в кассовых операциях в текущем году
select fio_sotr
from dvigenie, podotch_lic
where kod_podr=3 and Year(dvigenie.date)=Year(
group by fio_sotr
Отчет по остаткам на «I-ю» дату (кассир, остаток на начало, приход, расход, остаток на конец дня)
select fio_kas, ost_na_nach, sum_prih, sum_rash, (ost_na_nach + sum_prih - sum_rash)ost_kon_dnya
from Ostatki, Kassiri
where Kassiri.Kod_kas=Ostatki.Kod_
Из таблицы Остатки выбрать строки по условию чтобы: остаток на начала дня+ сумма прихода = сумма расхода. Данная процедура не имеет входных параметров.
CREATE PROCEDURE [Ravenstvo]
AS
SELECT *
From Ostatki
Where (ost_na_nach+sum_prih)=sum_
GO
Из таблицы Движение выбрать строки по условию: «I-ый» бухгалтерский счет «j-ый» документ (* код счета и код документа задавать как параметр)
CREATE PROCEDURE [Buh_scheta] @sch smallint=1001, @docum smallint=4
AS
SELECT *
FROM Dvigenie
WHERE Kod_sch=@sch AND Kod_doc=@docum
GO
Вставить четыре новых строки в таблицу Документы. Входными параметрами для данной процедурой является количество создаваемых строк.
CREATE PROCEDURE [Insert_str] @n int=4
AS
Declare @i int, @max smallint;
Set @i=0;
While (@i<@n)
Begin
Set @max=(Select max(Kod_doc) from Doc);
Insert into Doc(Kod_doc,Naimen_doc)
Values (@max+1,'');
Set @i=@i+1;
End
GO
Рассчитать остаток на конец дня у «I-го» кассира на «j-ю» дату как остаток на начало дня + сумма прихода – сумма расхода (* код кассира и дату задавать как параметр)
CREATE PROCEDURE [Ostatki_hp] @kas smallint, @data datetime
AS
SELECT FIO_kas, Date, (ost_na_nach + sum_prih - sum_rash)ost_kon_dnya
FROM Ostatki, Kassiri
WHERE Ostatki.Kod_kas=@kas
AND Date=@data AND Kassiri.Kod_kas=Ostatki.Kod_
GO