415

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

Курсовая

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

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

Украинкский

2013-01-06

621 KB

34 чел.

Зміст

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


 

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

36932. Амплітудний модулятор 211.5 KB
  Мета: Дослідження методики настроювання амплітудного модулятора Дослідження модуляційної характеристики амплітудного модулятора Дослідження режимів роботи амплітудного модулятора 1. Методика настроювання амплітудного модулятора на біполярному транзисторі: Для цього складемо схему: Після чого настроїмо резонансний контур на частоту несучого коливання. Закріпимо здобуті навички і налагодимо амплітудний модулятор на частоту модулю чого коливання 150кГц розрахуємо необхідні дані: Статична модуляційна характеристика: E Uвих 02...
36933. Неповністю визначені функції 424.25 KB
  Зберіть схему підключіть входи DCB до джерела логічних сигналів а вихід до логічного пробника. Намалюйте часові діаграми сигналів на виходах всіх логічних елементів схеми для всіх можливих комбінацій вхідних сигналів. Розробіть схему що формує на виході сигнал F із вхідних сигналів А В С як показано на рисунку. При перевірці її роботи для формування вхідних сигналів використайте: а джерела логічних сигналів; б генератор слів.
36934. Розробка засобів програмованого (тестового) контролю навчальних досягнень учнів з трудового навчання 29.76 KB
  Мета роботи: Вивчення дидактичних основ вибору питань для тестової перевірки навчальних досягнень учнів з трудового навчання. Оволодіти методикою проведення тестової перевірка знань умінь та навичок учнів за допомогою нових інформаційних технологій. Система тестування як форма контролю та оцінювання навчальних досягнень учнів з трудового навчання.
36935. ВИЗНАЧЕННЯ СТАЛОЇ В ЗАКОНІ СТЕФАНА-БОЛЬЦМАНА 127 KB
  Основні теоретичні відомості Якщо на тіло падає потік світла то частина цього потоку буде відбиватися від його поверхні а друга частина потоку що проникає в тіло буде поглинатися частинками тіла і перетворюватися в інші форми енергії в кінцевому рахунку в теплоту. Відношення відбитого потоку Фвідб до падаючого потоку Ф називається коефіцієнтом відбивання або поглинаючою здатністю тіла тобто а = Фвід6 Ф а відношення потоку що поглинається тілом до падаючого потоку називається коефіцієнтом поглинання або поглинаючою здатністю...
36936. Удаленная работа з FTP-сервером 225 KB
  FTPсервер представляет из себя своеобразную библиотеку файлов. Для перекачки файлов между FTPсерверами и компьютером пользователя используется протокол FTP File Trnsfer Protocol – протокол передачи файлов. С помощью FTPсервера можно выкачивать на свой компьютер файлы выложенные на многочисленных FTPсерверах.
36937. ПОВІРКА МОСТА ПОСТІЙНОГО СТРУМУ МО-62 ТА ПРЯМЕ ВИМІРЮВАННЯ ОПОРУ РЕЗИСТОРА 259.5 KB
  Крім того міст дозволяє: а визначити характер і місце ушкодження повітряних ліній або кабелю; б повіряти вимірювальні прилади й пристрої до термометрів опору за винятком деяких меж виміру; в підганяти опір сполучних ліній приладів що працюють із термометрами опору по 2 і 3провідній схемі включення; г вимірювати опори ізоляції в межах від 1 до 100 Мом; д використовувати плече зрівняння моста в якості магазину опорів; е використовувати внутрішній гальванометр у зовнішніх електричних ланцюгах. Резистори намотані бифилярно...
36938. Пошук інформації в Internet 99.5 KB
  Як трактуються слова Незалежно від того яка форма слова стоїть в запиті пошук враховує всі форми за правилами російської мови. Наприклад якщо задано запит “идти†те в результаті пошуку будуть знайдені посилання на документи що містять слова идет†шел†шла†тощо . Якщо в запиті слово набране з великої букви будуть знайдені тільки слова з великої літери у противному випадку будуть знайдені як слова з великої так і з маленької літери. Між словами можна поставити знак †або кому †щоб знайти документи що містять...
36939. Обмін даними з додатками 702 KB
  Щоб прочитати цей файл в Mthcd необхідно: В меню Insert Вставка виберіть команду Сomponent Компонент з’явиться діалогове вікно Сomponent Wizrd рис. Рис. З’явиться діалогове вікно File Options рис. Рис.