415

Розробка електронної системи бібліотечної картотеки

Курсовая

Информатика, кибернетика и программирование

Створення електронної системи бібліотеки, де всі дані про читачів і книги зібрані в базі даних, і куди при необхідності можна легко заносити, змінювати та видаляти дані. Електронна система з одержання, та повернення книг.

Украинкский

2013-01-06

621 KB

35 чел.

Зміст

1. Вступ

2. Постановка задачі

3. Опис бази даних

4. Опис інтерфейсу

4.1. Сторінки клієнта

4.2. Сторінки адміністратора

Висновки

Список використаної літератури

Додатки

Додаток А

Додаток Б

Додаток В

  1.  Вступ

В наш час бібліотекою користується велика кількість людей. Для систематизації інформації про читачів та книги використовують різні засоби: записи до блокнотів, карток читача. Вся ця документація займає багато місця і в ній дуже незручно шукати необхідну інформацію. Виходом з цієї ситуації є створення електронної системи бібліотеки, де всі дані про читачів і книги зібрані в базі даних, і куди при необхідності можна легко заносити, змінювати та видаляти дані. Саме ці задачі реалізовані в курсовій роботі.

  1.  Постановка задачі

Електронна система з одержання, та повернення книг дозволяє швидше вирішувати завдання бібліотекаря з обліку книг в бібліотеці, і впорядковує всі необхідні дані про клієнтів, і книги в базі даних. Веб-інтерфейс створено за допомогою технології ASP.NET і мови HTML з використанням CSS (каскадних таблиць стилів) у середовищі MS Visual Studio 2010. Основна мова програмування C#. База данних створена на мові Transact-SQL у середовищі MS Management Studio 2008.

  1.  Опис бази даних

База даних містить 6 таблиць: «Видачі», «Книги», «Автори», «Читачі», «Повернення», «Видавництва». Також у базі присутні 2 тригери: «insert_returns», «insert_issuance». Код для створення бази, таблиць та тригерів знаходиться у додатку. На рис.1 зображена діаграма, де відображені всі зв’язки між таблицями в базі.

Рис. 1.  Діаграма бази даних, яка відображає зв’язки між таблицями

  1.  Опис інтерфейсу

Інтерфейс проекту ділиться на два типи: Клієнтський і Адміністраторський. Клієнт може переглядати певні сторінки, але не може вносити зміни в базу. Адміністратор наділений повноваженнями змінювати, вставляти та видаляти дані у всіх таблицях бази. Для підтвердження своєї особистості адміністратору необхідно пройти авторизацію на сайті.

На сторінках присутні всі необхідні елементи управління, які дозволяють зробити інтерфейс більш дружнім. Наприклад: Menu, Grid View, Details View. Дизайн реалізований за допомогою технології Master Page та розмітки HTML з використанням каскадних таблиць стилів (CSS). Ці технології дозволили модернізувати сайт і зробити проект більш зручним як для клієнта так і для адміністратора.

  1.  Сторінки клієнта

Рис. 2. Перегляд Клієнтської сторінки Автори

Рис. 3. Перегляд Клієнтської сторінки Видавництва

Рис. 4. Перегляд Клієнтської сторінки  Книги

Рис. 5. Перегляд Клієнтської сторінки Авторизація Користувача

  1.  Сторінки адміністратора

Рис. 6. Редагування таблиці Повернення

Рис. 7. Перегляд таблиці Видачі Детальніше

Рис. 8. Перегляд таблиці Видавництва Детальніше

Рис. 9. Перегляд таблиці Книги Детальніше

Рис. 10. Редагування таблиці Книги

Рис. 11. Редагування таблиці Читачі

Висновки

В ході виконання курсового проекту була розроблена модель бази даних бібліотеки. Були освоєні основні прийоми проектування в SQL Server Management Studio. Результатом виконання курсового проекту є фізична модель, спроектована в інструментальному середовищі Microsoft Visual Studio 2010. Я вважаю що у випуску SQL Server Management Studio велике число графічних засобів поєднується з набором повно функціональних редакторів скриптів для доступу розробників та адміністраторів з будь-яким рівнем знань до SQL Server, тому з цією програмою було легко працювати. У програмі Microsoft Visual Studio 2010 став в пригоді новий інтерфейс створений з використанням технології WPF (Windows Presentation Foundation), в ньому перероблені і реорганізовані меню і панелі інструментів, оновлено редактор коду, що дозволило легко створювати будь-які візуальні плагіни. Тому я вибрав саме ці програми, з допомогою яких я створив свій проект.

Список використаної літератури

  1.  Д. Кренке.  Теория и практика построения баз данных. 8-е изд. - Спб.: Питер, 2003. - 800 с.
  2.  С. Байдачный, Д. Маленко, Ю. Лозинский. SQL Server 2005: новые возможности для разработчиков - М.: СОЛОН - Пресс, 2006 - 208с.
  3.  Вендров А.М. Case - технологии. Современные методы и средства проектирования информационных систем. - 158 с., ил.
  4.  Марка Д., МакГоуэн К. Методология структурного анализа и проектирования: Пер. с англ. - М.: 1999.- 240 с., ил.
  5.  Грабер М. Введение в SQL: Пер. с англ. - М.: “ЛОРИ”, 1996.- 341с., ил.
  6.  Дейт К. Дж. Введение в системы баз данных: Пер. с англ. - 6-е изд. - К.: Диалектика, 1998. - 784с., ил.
  7.  Соммервилл И. Инженерия программного обеспечения. - М.: Вильямс, 2002. 624 с.
  8.  Орлов С.А. Технологии разработки программного обеспечения. – СПб.: Питер, 2003. 480 с.
  9.  Иванова Г.С. Технология программирования. М.: изд-во МГТУ имени Н.Э. Баумана, 2002 - 320 с.


Додатки

Додаток А

Створення бази даних (Transact-SQL)

USE [master]

GO

CREATE DATABASE [Mihaylenko_Library] ON  PRIMARY

( NAME = N'Mihaylenko_Library', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Mihaylenko_Library.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )

LOG ON

( NAME = N'Mihaylenko_Library_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Mihaylenko_Library_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)

GO

ALTER DATABASE [Mihaylenko_Library] SET COMPATIBILITY_LEVEL = 100

GO

IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))

begin

EXEC [Mihaylenko_Library].[dbo].[sp_fulltext_database] @action = 'enable'

end

GO

ALTER DATABASE [Mihaylenko_Library] SET ANSI_NULL_DEFAULT OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET ANSI_NULLS OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET ANSI_PADDING OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET ANSI_WARNINGS OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET ARITHABORT OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET AUTO_CLOSE OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET AUTO_CREATE_STATISTICS ON

GO

ALTER DATABASE [Mihaylenko_Library] SET AUTO_SHRINK OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET AUTO_UPDATE_STATISTICS ON

GO

ALTER DATABASE [Mihaylenko_Library] SET CURSOR_CLOSE_ON_COMMIT OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET CURSOR_DEFAULT  GLOBAL

GO

ALTER DATABASE [Mihaylenko_Library] SET CONCAT_NULL_YIELDS_NULL OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET NUMERIC_ROUNDABORT OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET QUOTED_IDENTIFIER OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET RECURSIVE_TRIGGERS OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET  DISABLE_BROKER

GO

ALTER DATABASE [Mihaylenko_Library] SET AUTO_UPDATE_STATISTICS_ASYNC OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET DATE_CORRELATION_OPTIMIZATION OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET TRUSTWORTHY OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET ALLOW_SNAPSHOT_ISOLATION OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET PARAMETERIZATION SIMPLE

GO

ALTER DATABASE [Mihaylenko_Library] SET READ_COMMITTED_SNAPSHOT OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET HONOR_BROKER_PRIORITY OFF

GO

ALTER DATABASE [Mihaylenko_Library] SET  READ_WRITE

GO

ALTER DATABASE [Mihaylenko_Library] SET RECOVERY FULL

GO

ALTER DATABASE [Mihaylenko_Library] SET  MULTI_USER

GO

ALTER DATABASE [Mihaylenko_Library] SET PAGE_VERIFY CHECKSUM  

GO

ALTER DATABASE [Mihaylenko_Library] SET DB_CHAINING OFF

GO

Додаток Б

Створення таблиць (Transact-SQL)

Таблиця  “Авторы”

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Авторы](

[IDАвтора] [int] IDENTITY(1,1) NOT NULL,

[ФИО] [nvarchar](50) NOT NULL,

CONSTRAINT [PK_Авторы] PRIMARY KEY CLUSTERED

(

[IDАвтора] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

Таблиця Возвраты

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Возвраты](

[IDВозврата] [int] IDENTITY(1,1) NOT NULL,

[Книга] [int] NULL,

[Читатель] [int] NULL,

[ДатаВозврата] [datetime] NULL,

CONSTRAINT [PK_Возвраты] PRIMARY KEY CLUSTERED

(

[IDВозврата] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Возвраты]  WITH CHECK ADD  CONSTRAINT [FK_Возвраты_Книги] FOREIGN KEY([Книга])

REFERENCES [dbo].[Книги] ([IDКниги])

GO

ALTER TABLE [dbo].[Возвраты] CHECK CONSTRAINT [FK_Возвраты_Книги]

GO

ALTER TABLE [dbo].[Возвраты]  WITH CHECK ADD  CONSTRAINT [FK_Возвраты_Читатели] FOREIGN KEY([Читатель])

REFERENCES [dbo].[Читатели] ([IDЧитателя])

GO

ALTER TABLE [dbo].[Возвраты] CHECK CONSTRAINT [FK_Возвраты_Читатели]

GO

ALTER TABLE [dbo].[Возвраты] ADD  CONSTRAINT [DF_Возвраты_ДатаВозврата]  DEFAULT (getdate()) FOR [ДатаВозврата]

GO

Таблиця Выдачи

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Выдачи](

[IDВыдачи] [int] IDENTITY(1,1) NOT NULL,

[Книга] [int] NULL,

[Читатель] [int] NULL,

[ДатаВыдачи] [datetime] NULL,

CONSTRAINT [PK_Выдачи] PRIMARY KEY CLUSTERED

(

[IDВыдачи] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Выдачи]  WITH CHECK ADD  CONSTRAINT [FK_Выдачи_Книги] FOREIGN KEY([Книга])

REFERENCES [dbo].[Книги] ([IDКниги])

GO

ALTER TABLE [dbo].[Выдачи] CHECK CONSTRAINT [FK_Выдачи_Книги]

GO

ALTER TABLE [dbo].[Выдачи]  WITH CHECK ADD  CONSTRAINT [FK_Выдачи_Читатели] FOREIGN KEY([Читатель])

REFERENCES [dbo].[Читатели] ([IDЧитателя])

GO

ALTER TABLE [dbo].[Выдачи] CHECK CONSTRAINT [FK_Выдачи_Читатели]

GO

ALTER TABLE [dbo].[Выдачи] ADD  CONSTRAINT [DF_Выдачи_ДатаВыдачи]  DEFAULT (getdate()) FOR [ДатаВыдачи]

GO

Таблиця Издательства

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Издательства](

[IDИздательства] [int] IDENTITY(1,1) NOT NULL,

[Название] [nvarchar](50) NULL,

CONSTRAINT [PK_Издательство] PRIMARY KEY CLUSTERED

(

[IDИздательства] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

Таблиця Книги

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Книги](

[IDКниги] [int] IDENTITY(1,1) NOT NULL,

[Название] [nvarchar](50) NULL,

[Автор] [int] NULL,

[Издательство] [int] NULL,

[КоличествоЭкземпляров] [int] NULL,

CONSTRAINT [PK_Книги] PRIMARY KEY CLUSTERED

(

[IDКниги] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Книги]  WITH CHECK ADD  CONSTRAINT [FK_Книги_Авторы] FOREIGN KEY([Автор])

REFERENCES [dbo].[Авторы] ([IDАвтора])

GO

ALTER TABLE [dbo].[Книги] CHECK CONSTRAINT [FK_Книги_Авторы]

GO

ALTER TABLE [dbo].[Книги]  WITH CHECK ADD  CONSTRAINT [FK_Книги_Издательство] FOREIGN KEY([Издательство])

REFERENCES [dbo].[Издательства] ([IDИздательства])

GO

ALTER TABLE [dbo].[Книги] CHECK CONSTRAINT [FK_Книги_Издательство]

GO

Таблиця -Читатели

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TABLE [dbo].[Читатели](

[IDЧитателя] [int] IDENTITY(1,1) NOT NULL,

[ФИО] [nvarchar](50) NOT NULL,

[НомерЧБ] [int] NULL,

[Телефон] [nvarchar](20) NULL,

[Адрес] [nvarchar](100) NULL,

CONSTRAINT [PK_Читатели] PRIMARY KEY CLUSTERED

(

[IDЧитателя] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

Додаток В

Тригери (Transact-SQL)

Тригер insert_returns

Тригер insert_returns при видачі книг в таблиці <<Выдачи>> зменшує <<КоличествоЭкземпляров>> на 1  в таблиці <<Книги>>.

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER TRIGGER [dbo].[insert_issuance]

ON [dbo].[Выдачи]

FOR INSERT

AS

DECLARE @IdIssuance int, @Idbook int

SELECT @IdIssuance=[IDВыдачи] FROM Inserted

IF @IdIssuance>0

BEGIN

SELECT @IdBook =(SELECT[Выдачи].[Книга] FROM [Выдачи] WHERE IDВыдачи =@IdIssuance)

UPDATE [Книги] SET [Книги].[КоличествоЭкземпляров] = [Книги].КоличествоЭкземпляров-1 WHERE IDКниги = @IdBook

END

Тригер insert_issuance

Тригер insert_issuance при поверненні книг в таблиці <<Возврат>> збільшує <<КоличествоЭкземпляров>> на 1  в таблиці <<Книги>>.

USE [Mihaylenko_Library]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER TRIGGER [dbo].[insert_returns]

ON [dbo].[Возвраты]

FOR INSERT

AS

DECLARE @IdReturn int, @Idbook int

SELECT @IdReturn=[IDВозврата] FROM Inserted

IF @IdReturn>0

BEGIN

SELECT @IdBook =(SELECT[Возвраты].[Книга] FROM [Возвраты] WHERE IDВозврата =@IdReturn)

UPDATE [Книги] SET [Книги].[КоличествоЭкземпляров] = [Книги].КоличествоЭкземпляров+1 WHERE IDКниги = @IdBook

END


 

А также другие работы, которые могут Вас заинтересовать

67430. АНАЛИЗ ЗАТРАТ НА ПРОИЗВОДСТВО ПРОДУКЦИИ 104 KB
  Цели задачи и виды анализа затрат на производство продукции Выявление роли себестоимости продукции в условиях применения свободных договорных цен имеет существенное практическое значение для всех производственных структур. Предприятия должны самостоятельно планировать свою деятельность...
67431. АНАЛИЗ ОБЪЕМА ПРОИЗВОДСТВА И РЕАЛИЗАЦИИ ПРОДУКЦИИ 140 KB
  Основные задачи анализа объема производства и реализации продукции: оценка динамики основных показателей объема структуры и качества продукции; проверка сбалансированности и оптимальности намечаемого вида продукции а также оценка реальности и напряжённости производственных показателей...
67432. АНАЛИЗ ФИНАНСОВЫХ РЕЗУЛЬТАТОВ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ 221 KB
  Сумма прибыли и уровень рентабельности являются основными показателями, характеризующими финансовые результаты предприятия. Чем больше величина прибыли и выше уровень рентабельности, тем эффективнее функционирует предприятие и устойчивее его финансовое состояние.
67433. ОБОСНОВАНИЕ УПРАВЛЕНЧЕСКИХ РЕШЕНИЙ НА ОСНОВЕ МАРЖИНАЛЬНОГО АНАЛИЗА 146.5 KB
  Сущность и значение маржинального анализа Большую роль в обосновании управленческих решений в бизнесе играет маржинальный анализ методика которого базируется на изучении соотношения между тремя группами важнейших экономических показателей: издержки объем производства реализации продукции...
67434. ФИНАНСОВЫЙ АНАЛИЗ ИНВЕСТИЦИОННЫХ ПРОЕКТОВ 118.5 KB
  Наиболее общими факторами достижения целей инвестирования являются: Сбор необходимой информации для разработки бизнес-плана инвестиционного проекта Изучение и прогнозирование перспектив рыночной конъюнктуры Выбор стратегии и тактики поведения на рынке инвестиционных товаров...
67435. АНАЛИЗ ФИНАНСОВОГО СОСТОЯНИЯ ПРЕДПРИЯТИЯ 182.5 KB
  В связи с этим существенно возрастает приоритетность и роль финансового анализа основным содержанием которого является комплексное системное изучение финансового состояния предприятий и факторов его формирования с целью оценки степени финансовых рисков и прогнозирования уровня доходности...
67437. ФИНАНСОВЫЕ КОЭФФИЦИЕНТЫ 90.5 KB
  Простого знакомства с финансовыми отчетами уже достаточно чтобы что-то узнать о компании но его недостаточно чтобы узнать многие детали. Но чтобы действительно понимать положение дел в компании вы должны анализировать ее финансовую отчетность. Вы узнаете что скрывается за разными цифрами...
67438. ОГРАНИЧЕНИЯ КРАТКОСРОЧНОГО РОСТА 67 KB
  В разделе Финансовые коэффициенты мы рассчитали длительность оборота дебиторской задолженности и длительность оборота товарно-материальных запасов. Наравне с этими двумя коэффициентами большое значение для анализа имеет также длительность оборота кредиторской задолженности.