База данных для автоматизации книжного магазина

Автор работы: Пользователь скрыл имя, 04 Мая 2012 в 02:07, контрольная работа

Описание

Еще недавно люди хранили свои записи на бумаге в непонятном и неструктурированном виде, поэтому возможности доступа к информации были очень плохие. В настоящее время существует множеств типов систем управления базами данных это и сетевые и реляционные и объектно-ориентированные СУБД. С каждым годом увеличиваются объемы информации, поэтому теория и практика разработки баз данных постоянно дополняется.

Содержание

Введение 3
1. Анализ предметной области и построение концептуальной модели 4
2. Построение логической и физической модели базы данных 9
3. Реализация базы данных с учетом web-интерфейса 13
Заключение 16
Литература 17
Приложения 18

Работа состоит из  1 файл

BOOKS.DOC

— 361.50 Кб (Скачать документ)

      Логическая  модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью.

      В нашем случае присутствует связь  ( book принадлежит(belong) schet). Так как реализация такой связи в СУБД реляционного типа затруднительна, нужно ввести новую сущность, назовем ее schetpok. 

      

                                                                                              

      1                                                                                                                             1

       
 

     Рисунок 2 - Введение новой сущности schetpok 

Приведем  логическую модель базы данных с учетом введения новой сущности. Логическая модель базы данных приведена на рисунке 3. 
 
 
 
 
 
 
 
 
 

       

       

       

       

       

       

 

 

 
 

Рисунок 3 – ER-диаграмма логической модели базы данных книжного магазина 

       Теперь приступим к физическому проектированию базы данных. Любая база данных состоит из таблиц (отношений), поэтому теперь наша задача построить таблицы основываясь на логической модели базы данных. Правила перевода из логической модели данных в физическую следующие:

    1. Объекты становятся таблицами в физической базе данных
    2. Атрибуты становятся колонками (полями) в физической базе данных. Для каждого атрибута выбирается свой тип данных.
    3. Уникальные идентификаторы становятся колонками, не допускающими значение NULL. В физической базе данных они назваются превичными ключами (primary key).
 

       

       

                                                                                    

       

         
 

       

       

       

         
 

       

         

       

 
 

       Рисунок 4 – Схема таблиц для базы данных книжного магазина 

      Теперь  у нас есть схема таблиц базы данных (рисунок 4), теперь нужно перевести все эти таблицы в SQL (язык структурированных запросов). В общем случае модели данных разрабатываются таким образом чтобы не зависеть от конкретной базы данных. Поэтому разработанную физическую модель данных можно применить к любой СУБД. В нашем случае это будет MySQL. MySQL – компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании. В базе данных MySql таблицы создаются с помощью sql-запроса. 
 
 

 

CREATE TABLE partner (

   partner_id int(11) NOT NULL auto_increment,

   fio varchar(100) NOT NULL,

   phone varchar(20) NOT NULL,

   address varchar(100) NOT NULL,

   sell int(11) DEFAULT '0' NOT NULL,

   data_registr int(11) DEFAULT '0' NOT NULL,

   PRIMARY KEY (partner_id)

); 

CREATE TABLE pokupatel (

   pokupatel_id int(11) NOT NULL auto_increment,

   name varchar(100) NOT NULL,

   phone varchar(20) NOT NULL,

   address varchar(100) NOT NULL,

   PRIMARY KEY (pokupatel_id)

); 

CREATE TABLE schet (

   schet_id int(11) NOT NULL auto_increment,

   data_oforml int(11) DEFAULT '0' NOT NULL,

   pokupatel_id int(11) DEFAULT '0' NOT NULL,

   PRIMARY KEY (schet_id)

); 

CREATE TABLE schetpok (

   schetpok_id int(11) NOT NULL auto_increment,

   schet_id int(11) DEFAULT '0' NOT NULL,

   book_id int(11) DEFAULT '0' NOT NULL,

   kolvo int(11) DEFAULT '0' NOT NULL,

   PRIMARY KEY (schetpok_id)

); 

CREATE TABLE book (

   book_id int(11) NOT NULL auto_increment,

   nazvanie varchar(50) NOT NULL,

   soder varchar(255) NOT NULL,

   vid_id int(11) DEFAULT '0' NOT NULL,

   cena int(11) DEFAULT '0' NOT NULL,

   year int(4) DEFAULT '0' NOT NULL,

   author varchar(100) NOT NULL,

   izdat varchar(100) NOT NULL,

   partner_id int(11) DEFAULT '0' NOT NULL,

   PRIMARY KEY (book_id)

); 

CREATE TABLE vid (

   vid_id int(11) NOT NULL auto_increment,

   nazvanie varchar(255) NOT NULL,

   PRIMARY KEY (vid_id));

3. Реализация базы  данных с учетом web-интерфейса 

      Рассмотрим  сценарий отображающий главную страницу. Исходные коды сценариев находятся в приложениях.

Одной из главных  частей работы является работа с базой  данных. Чтобы работать с базой данных нужно выполнить несколько действий:

  1. Соединиться с сервером баз данных
  2. Выбрать базу данных
  3. Выполнить SQL-запрос
  4. Вывести данные полученные в результате запроса

Вид главной  страницы показан на рисунке 5. 
 

Рисунок 5 - Внешний  вид главной страницы 

На главной  странице производим выборку видов товаров с помощью следующего sql-запроса:

Select * from vid 

В URL передается идентификатор вида запроса, в соответствии с которым будет сделана выборка. Т.е. выполнится следующий sql-запрос:

Select * from Book where vid_id=’$vid’, где $vid – переменная переданная в URL.

Внешний вид  каталога книг показан на рисунке 6. 

Рисунок 6 – Внешний вид каталога книг  

Далее нужно чтобы пользователь нажав  на ссылку мог оформить заказ, заполнив поля формы. Идентификатор книги также передается через адресную строку.

Внешний вид  сценария реализующего форму заказа книги показан на рисунке 7. 
 
 
 
 
 

Рисунок 7 – Сценарий реализующий форму заказа 

После нажатия  на кнопку заказать данные записываются в базу данных с помощью sql-оператора INSERT. 

 

Заключение 

         В результате выполнения курсовой работы была спроектирована база данных, книжного магазина которая позволяет максимально удобно пользоваться необходимой информацией. Также был написан web-интерфейс на языке PHP и использовалась база данных MySQL. MySQL используется в небольших организациях и на web-узлах. Использование базы данных облегчает управление данными. Если бы вместо базы данных использовались текстовые файлы мы бы столкнулись с проблемой большой нагрузки на web-узел. Мы получили базу данных которую легко обновлять, добавлять данные, производить выборку. Все изменения сделанные в базе данных сразу отображаются на web-странице. База данных и web-интерфейс работают независимо друг от друга.

      Программное обеспечение способно реализовывать  основные функции интернет-магазина. 

 

Литература

  1. Кириллов В.В. Структуризованный язык запросов (SQL). – СПб.: ИТМО, 1994. – 80 с.
  2. Мейер М. Теория реляционных баз данных. – М.: Мир, 1987. – 608 с.
  3. Тиори Т., Фрай Дж. Проектирование структур баз данных. В 2 кн., – М.: Мир, 1985. Кн. 1. – 287 с.: Кн. 2. – 320 с.
  4. Ульман Дж. Базы данных на Паскале. – М.: Машиностроение, 1990. – 386 с.
  5. Цикритизис Д., Лоховски Ф. Модели данных. – М.: Финансы и статистика, 1985. – 344 с.

 

Приложение 1 

   Схема базы данных, сформированная в СУБД MySQL 

   # phpMyAdmin MySQL-Dump

   # http://phpwizard.net/phpMyAdmin/

   #

   # Host: localhost Database : book_mag 

   # --------------------------------------------------------

   #

   # Table structure for table 'book'

   # 

   CREATE TABLE book (

      book_id int(11) NOT NULL auto_increment,

      nazvanie varchar(50) NOT NULL,

      soder varchar(255) NOT NULL,

      vid_id int(11) DEFAULT '0' NOT NULL,

      cena int(11) DEFAULT '0' NOT NULL,

      year int(4) DEFAULT '0' NOT NULL,

      author varchar(100) NOT NULL,

      izdat varchar(100) NOT NULL,

      partner_id int(11) DEFAULT '0' NOT NULL,

      PRIMARY KEY (book_id)

   ); 

 

    #

   # Dumping data for table 'book'

   # 

   INSERT INTO book VALUES ( '1', 'А ты пребудешь вечно', 'Покой провинциального городка  нарушен известием об исчезновении  ребенка. Старший инспектор Уэксфорд берется за расследование этого загадочного дела со множеством свидетелей, подозреваемых и также анонимным признанием в похищении', '1', '11000', '2003', 'Рут Ренделл', 'Питер', '1');

   INSERT INTO book VALUES ( '2', 'Белая ваза с синим рисунком', 'Убийство молодой рабыни, гибель почтенного торговца рисом, загадочную смерть знатного вельможи - эти сложные дела берется распутать неподкупный судья', '1', '8450', '2003', 'Роберт Ван Гулик', 'BHV', '1');

   INSERT INTO book VALUES ( '3', 'Белый ниндзя', '`Белый ниндзя` Эрика Ванна Ластбадера это смертельная схватка с изощренным врагом, чье могущество и магическая сила таятся в древнем учении.', '1', '7300', '2003', 'Эрик Ван Ластбадер', 'Питер', '1'); 

   # --------------------------------------------------------

   #

   # Table structure for table 'partner'

   # 

   CREATE TABLE partner (

      partner_id int(11) NOT NULL auto_increment,

      fio varchar(100) NOT NULL,

      phone varchar(20) NOT NULL,

      address varchar(100) NOT NULL,

      sell int(11) DEFAULT '0' NOT NULL,

      data_registr int(11) DEFAULT '0' NOT NULL,

      PRIMARY KEY (partner_id)

Информация о работе База данных для автоматизации книжного магазина