415

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

Курсовая

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

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

Украинкский

2013-01-06

621 KB

40 чел.

Зміст

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


 

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

27842. Трансформаторы напряжения в схемах релейной защиты: устройство, схема замещения, цель применения 104.5 KB
  Трансформаторы напряжения в схемах релейной защиты: устройство схема замещения цель применения Трансформатор напряжения в схемах РЗ. ТН так же как и ТТ обеспечивает изоляцию цепей вторичной коммутации от ВН и позволяют независимо от первичного напряжения получить стандартную величину вторичного напряжения = 100В. Однако за счет падения напряжения мы имеем в реальном ТН.
27843. Поперечная дифференциальная токовая защита 88 KB
  Для осуществления защиты используются ТТ с одинаковыми коэффициентами трансформации, установленные со стороны общих шин в одноименных фазах. Реле тока КА включается на разность токов двух одноименных фаз сдвоенной линии по схеме с циркулирующими токами.
27844. Схема и расчет максимальной токовой защиты с блокировкой минимального напряжения 91.5 KB
  Схема и расчет максимальной токовой защиты с блокировкой минимального напряжения Максимальная токовая защита с блокировкой минимального напряжения остаточное максимальное напряжение в месте установки защиты при КЗ в конце либо основной либо резервной зоны К1 К2 при 3 фазных максимальных КЗ. В этих случаях применяется блокировка...
27845. Поперечная дифференциальная токовая направленная защита (принцип действия, схема и особенности работы) 154 KB
  Поперечная дифференциальная токовая направленная защита ДТНЗ Комплект Q1 Q3 ставиться такой же и на Q2 Q4 Icp Iнбмахрасч Icp =Котс ∙ Iнбмахрасч При К1: Ip Icp Lк зона каскадного действия ≤25 L Uост3 = Up Ucpmin мертвая зона вблизи установки комплекта защиты Lмз ≤ 10 L по напряжению для реле направления мощности к контактам реле КА1 Это для схемы с опережением. Дополнительные контакты служат для разгрузки контактов реле. Реле направления мощности включается по 90 схеме. В качестве реле направления мощности...
27846. Схема соединения трансформаторов тока и обмоток реле в полную звезду. Особенности работы релейной зашиты по этой схеме 141.5 KB
  При двойных замыканиях на землю в сетях с малыми токами замыкания на землю если точки расположены на разных линиях могут подействовать на отключение обеих линий при равенстве выдержек времени что не желательно. Iр = Iф При двойных замыканиях на землю в сетях с изолированной нейтралью tсз1 = tcз2 При 1фазном замыкании на землю в 2 3 случаях схема полной звезды в сети с изолированной нейтралью работают неправильно неселективно. при отсутствии повреждения на землю в нулевом проводе течет Iнб но неисправность 0го провода или его...
27847. Двухфазная двухрелейная и трехрелейная схемы соединения трансформаторов тока 70.5 KB
  Особенности: реагирует на все виды КЗ за исключением замыкания на землю фазы В. ток в обратном проводе проходит не только при замыкании на землю но и при межфазном КЗ а также при нормальной работе. в сетях с малыми токами при замыкании на землю схема в 2 3 случаев работает селективно. обеспечивает селективность в 2 3 случаях при 1фазном замыкании на землю.
27848. Схемы соединения с двумя трансформаторами тока и одним реле 100.5 KB
  Схема соединения трансформаторов тока в треугольник а обмоток реле в звезду. Схема соединения с 2 ТТ и одним реле включенным на разность токов двух фаз неполный треугольник. Ксх = Ip = Ia Ic Особенности схемы: схема применяется для защиты от междуфазных повреждений. При КЗ между АС Кч = Кч по схемам полной и неполной звезды Кч = Схема соединения ТТ в Δ а обмоток реле в Y схема полного треугольника.
27849. Виды повреждений и ненормальных режимов трансформаторов. Газовая защита трансформаторов 209.5 KB
  При КЗ однофазном на землю – одно два выключения Т№ из работы - Т.К. ток короткого замыкания большой. Также трансформатор Т2 – не отключается - т.к. нейтраль разземлена (опасное повышение напряжения). После выключения выключателей через т. КЗ – емкостной ток, перемежающая электрическая дуга и как следствие – перенапряжение. Может также возникнуть при односторонне запитанной линии с большей емкостью провода (напряжение более 500 кВ). Применяется максимальная защита напряжения.
27850. Требования к устройствам АВР и расчет их параметров 47.5 KB
  Требования к устройствам АВР и расчет их параметров. Требования к устройствам АВР и расчёт их параметров. Причём до включения АВР линия должна быть отключена. Пуск органов АВР являются тип реле напряжения: Из уставок выбирается меньшая.