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


 

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

3479. Определение коээфициента поверхностного натяжения жидкости по способу отрыва капли 185 KB
  Определение коээфициента поверхностного натяжения жидкости по способу отрыва капли Приборы и принадлежности: Бюретка с краном на штативе, два стакана, воронка, вода, исследуемая жидкость (спирт). Теория работы и описания приборов Жидкость состоит из...
3480. Физика среды и ограждающих конструкций, Строительная теплофизика 206 KB
  Физика среды и ограждающих конструкций. Среда и ее воздействие на объекты строительства. Воздушная среда и ее параметры. Водная среда и ее параметры. Климатические факторы. Влияние среды на долговечность строительных конструкций...
3483. Медична генетика 638 KB
  Залежність прояву ознак від впливу зовнішніх умов відзначав ще Ж.-Б.Ламарк, який розглядав це як один із еволюційних факторів. Учені давно помітили, що однояйцеві близнята, тобто організми з однаковим генотипом, відрізняються фенотипно, якщо розвива...
3484. Лекційний курс з основ фізики 2.71 MB
  Тема 1. Фізичні основи механіки. Кінематика Лекція 1. Основи кінематики поступального та обертального рухів Основні визначення В механіці розглядають механічний рух. Під механічним рухом розуміють зміну з часом положення тіла відносно інших тіл в пр...
3485. Измерение скорости пули с помощью физического маятника 55.8 KB
  Измерение скорости пули с помощью физического маятника Цель работы: с помощью физического маятника определить скорость пули. Рабочую формулу для экспериментального определения скорости пули получить исходя из законов сохранения момента импульса и эн...
3486. Определение ускорения свободного падения при помощи оборотного и математического маятников 443.96 KB
  Определение ускорения свободного падения при помощи оборотного и математического маятников, изучение законов колебания маятника, ознакомление с косвенными методами измерения ускорения свободного падения при помощи математического и оборотного...