русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Учебная база данных


Дата добавления: 2013-12-24; просмотров: 948; Нарушение авторских прав


 

На протяжении всего курса в качестве примера будем рассматривать одну базу данных компьютерного магазина shop.

База данных компьютерного магазина состоит из четырех таблиц:

catalogs — список торговых групп;

products— товарные позиции;

users — список зарегистрированных пользователей магазина;

orders — список осуществленных сделок.

Таблица catalogs предназначена для хранения торговых групп, таких как "Материнские платы", "Процессоры", "Видеокарты" и т. п. Таблица состоит из двух полей:

  • id_catalog — уникальный номер, тип поля INT(11);
  • name — имя раздела, тип поля CHAR(20).

 

Таблица products содержит конкретные товарные позиции, такие как "Celeron 2.0GHz", "Intel Pentium 4 3.2GHz" и т. п. Таблица состоит из семи полей:

  • id_product — уникальный номер товарной позиции; тип поля INT (11) NOT NULL
  • name — название товарной позиции; тип поля CHAR (20)
  • price — цена; тип поля DECIMAL (7,2)
  • count — количество товарных позиций на складе; тип поля INT (11)
  • mark — относительная оценка товара; тип поля FLOAT (4,1)
  • description — описание; тип поля TEXT
  • id_catalog — номер торговой группы из таблицы id_catalog, которой принадлежит товарная позиция тип поля INT(11) NOT NULL.

 

Поле id_catalog устанавливает связь между таблицами catalog и products. Зная уникальный номер каталога id_catalog, всегда можно узнать, какие товарные позиции принадлежат данной товарной группе и наоборот, к какой товарной группе принадлежит товарная позиция с конкретным значением id_catalog. MySQL позволяет сделать это при помощи несложных SQL-запросов, которые будут рассмотрены в следующих главах.

 

Таблица usersсодержит записи с информацией о зарегистрированных покупателях и состоит из восьми полей:

  • iduser — уникальный номер покупателя; INT(11) NOT NULL
  • surname — фамилия покупателя; CHAR (25)
  • name — имя покупателя; CHAR (20)
  • patronymic — отчество покупателя CHAR (30);
  • phone — телефон покупателя (если имеется); CHAR (12)
  • email — e-mail покупателя (если имеется); CHAR (20)
  • url — домашняя страница покупателя (если имеется); CHAR (20)
  • userstatus — статус покупателя, поле типа enum ('active','passive','lock','gold'), которое может принимать одно из четырех значений;
    • active — авторизованный покупатель, который может осуществлять покупки через Интернет;
    • passive— неавторизованный покупатель (значение по умолчанию), который осуществил процедуру регистрации, но не подтвердил ее и пока не может осуществлять покупки в магазине через Интернет, но ему доступны каталоги для просмотра;
    • lock — заблокированный покупатель, не может осуществлять покупки и просматривать каталоги магазина;
    • gold— активный покупатель с хорошей кредитной историей, которому предоставляется скидка при следующих покупках в магазине.

 



Поля phone, email и url снабжены атрибутом, т. к. посетитель имеет право не указывать эту информацию. Если эта информация не указана, то она носит неопределенный характер: телефона, e-mail и домашней страницы у покупателя может просто не быть, с другой стороны, он мог не захотеть их указывать. Поэтому, чтобы указать неопределенность этой информации, в поле следует поместить значение null. Все остальные поля получают атрибут not null, даже если он не указывается.

 

Таблица orders содержит информацию о покупках, совершенных в магазине, и включает пять полей:

 

  • id_order — уникальный номер сделки; тип поля INT(11) NOT NULL
  • id_user — номер пользователя из таблицы users; тип поля INT(11) NOT NULL
  • ordertime — время совершения сделки; тип поля DATE
  • number — число приобретенных товаров; тип поля INT(11)
  • id_product — номер товарной позиции из таблицы products. тип поля INT (11)

 

В таблице orders устанавливается связь сразу с двумя таблицами: users, за счет поля users, и products, за счет поля id_product. Это позволит для каждой покупки восстановить покупателя и приобретенный товар. С другой стороны, можно узнать число покупок, совершенных каждым из покупателей, а также частоту покупки той или иной товарной позиции, что позволит увеличить или уменьшить закупки товара и тем самым произвести оптимизацию работы магазин.

 

 



<== предыдущая лекция | следующая лекция ==>
Выбор типа данных | Первичный ключ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.087 сек.