Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Обзор структуры базы данных.

Введение | Особенности СУБД PostgreSQL. | UML - унифицированный язык моделирования. Диаграмма прецедентов и диаграмма отношений сущностей. |


Читайте также:
  1. Nbsp;   Структуры автоматизированных систем.
  2. А как же строительство и организация масштабной инфраструктуры?
  3. Анализ динамики и структуры расходов предприятия по статьям
  4. Анализ обеспеченности предприятия основными средствами и их структуры
  5. Анализ состава и структуры имущества предприятия
  6. Анализ состава и структуры основных фондов
  7. Анализ состава и структуры производственных запасов и обеспеченности предприятия материальными ресурсами

Реализация базы данных проводилась через web-интерфейс phpPgAdmin версии 5.0.4 на локальном сервере PostgreSQL версии 9.0.4.

В этой реализации были использованы четыре типа данных:

· serial;

· integer;

· text;

· bigint.

Типы данных были выбраны по следующему принципу:

· При объявлении сурогатного ключа (первичного ключа), поле с этим ключем будет иметь тип serial – целочисленное число с автоинкрементом;

· Все, что имеет счет (цена, количество, стоимость) – тип integer или bigint в зависимости от значений поля;

· Все остальное, т.е. то что не имеет счета – тип text.

Рассмотрим структуру базы данных на примере двух таблиц.

Приведем SQL-код таблицы «Клиент»:

1. CREATE TABLE "Клиент" (

"_PK_КодКлиента" integer NOT NULL,

"ФамилияКлиента" text NOT NULL,

"ИмяКлиента" text NOT NULL,

"ОтчествоКлиента" text NOT NULL,

"ПаспортныеДанныеКлиента" text NOT NULL,

"АдресКлиента" text NOT NULL,

"НомерТелефонаКлиента" text NOT NULL,

"ЭлектронныйЯщикКлиента" text);

2. ALTER TABLE public."Клиент" OWNER TO postgres;

3. COMMENT ON TABLE "Клиент" IS 'Таблица "Клиент"';

4. COMMENT ON COLUMN "Клиент"."_PK_КодКлиента" IS 'Идентификатор клиента';

5. COMMENT ON COLUMN "Клиент"."ФамилияКлиента" IS 'Фамилия клиента';

6. COMMENT ON COLUMN "Клиент"."ИмяКлиента" IS 'Имя клиента';

7. COMMENT ON COLUMN "Клиент"."ОтчествоКлиента" IS 'Отчество клиента';

8. COMMENT ON COLUMN "Клиент"."ПаспортныеДанныеКлиента" IS 'Паспортные данные клиента';

9. COMMENT ON COLUMN "Клиент"."АдресКлиента" IS 'Адрес клиента';

10. COMMENT ON COLUMN "Клиент"."НомерТелефонаКлиента" IS 'Номер телефона клиента';

11. COMMENT ON COLUMN "Клиент"."ЭлектронныйЯщикКлиента" IS 'Электронный ящик клиента';

12. CREATE SEQUENCE "Клиент_КодКлиента_seq"

START WITH 1

INCREMENT BY 1

NO MINVALUE

NO MAXVALUE

CACHE 1;

13. ALTER TABLE public."Клиент_КодКлиента_seq" OWNER TO postgres;

14. ALTER SEQUENCE "Клиент_КодКлиента_seq" OWNED BY "Клиент"."_PK_КодКлиента";

15. ALTER TABLE ONLY "Клиент" ALTER COLUMN "_PK_КодКлиента" SET DEFAULT nextval('"Клиент_КодКлиента_seq"'::regclass);

16. ALTER TABLE ONLY "Клиент" ADD CONSTRAINT "Клиент_pkey" PRIMARY KEY ("_PK_КодКлиента");

17. ALTER TABLE ONLY "Клиент" ADD CONSTRAINT "Клиент_ПаспортныеДанные_key" UNIQUE ("ПаспортныеДанныеКлиента");

18. ALTER TABLE ONLY "Клиент" ADD CONSTRAINT "Клиент_ЭлектронныйЯщикКлиента_key" UNIQUE ("ЭлектронныйЯщикКлиента");

Рассмотрим SQL-код таблицы «Клиент» поподробнее:

1. Создание таблицы «Клиент». Все поля за исключением поля «ЭлектронныйЯщикКлиента» не могут иметь неопределенного значения (NOT NULL). Поле «_PK_КодКлиента» изначально имел тип данных serial. При выборе этого типа PostgreSQL автоматически создаст последовательность (Последовательность для PostgreSQL является заменой автоинкремента в СУБД MySql) а полю, которому был объявлен тип данных serial будет переопределено как тип integer. Все поля, за исключением «_PK_КодКлиента» имееют тип данных text;

2. Установление владельца postgres для таблицы «Клиент» схемы «public»;

3-11. Определение комментарий для полей;

12. Создание последовательности «Клиент_КодКлиента_seq». Устанавливаем опции: START WITH 1 – начинаем последовательность с 1. INCREMENT BY 1 – при запросе на следующее значение, последовательность будет увеличиваться на значение 1.

13. Изменяем объект «Клиент_КодКлиента_seq» - устанавливаем владельца postgres;

14. Прикрепляем последовательность к полю «_PK_КодКлиента»;

15. Изменяем таблицу «Клиент». Изменяем колонну «_PK_КодКлиента» - устанавливаем в качестве значения по умолчанию функцию nextval – функция, которая возвращает следующее значение объявленной ранее последовательности;

16. Изменяем таблицу «Клиент». Добавляем ограничение «Клиент_pkey» - объявление первичного ключа для колонны «_PK_КодКлиента»;

17. Изменяем таблицу «Клиент». Добавляем ограничение «Клиент_ПаспортныеДанные_key» - объявление уникального ключа для колонны «ПаспортныеДанныеКлиента».

18. Аналогично запросу 17.

Приведем SQL-код таблицы «Склад»:

1. CREATE TABLE "Склад" (

"_PF_КодУстройства" integer NOT NULL,

"КоличествоУстройств" bigint NOT NULL);

2. ALTER TABLE public."Склад" OWNER TO postgres;

3. COMMENT ON TABLE "Склад" IS 'Таблица "Склад"';

4. COMMENT ON COLUMN "Склад"."_PF_КодУстройства" IS 'Идентификатор устройства';

5. COMMENT ON COLUMN "Склад"."КоличествоУстройств" IS 'Количество устройства';

6. ALTER TABLE ONLY "Склад" ADD CONSTRAINT "Склад__PF_КодУстройства_fkey" FOREIGN KEY ("_PF_КодУстройства") REFERENCES "Устройство"("_PK_КодУстройства");

7. ALTER TABLE ONLY "Склад" ADD CONSTRAINT "_PF_КодУстройства_pkey" PRIMARY KEY ("_PF_КодУстройства";

Рассмотрим подробнее SQL-код таблицы «Склад»:

1. Создание таблицы «Склад». Объявление двух полей целочисленного типа;

2. Устанавливаем владельца postgres для таблицы «Склад»;

3-5. Определяем комментарий для полей и самой таблицы;

6. Изменяем таблицу «Склад». Добавляем ограничение внешнего ключа «Склад_PF_КодУстройства_fkey» на колонну «_PF_КодУстройства», устанавливаем ссылку на поле «_PK_КодУстройства» таблицы «Устройство»;

7. Изменяем таблицу «Склад». Добавляем ограничение первичного ключа «_PF_КодУстройства_pkey» на поле «_PF_КодУстройства».

SQL-код остальных таблиц можно просмотреть в приложении 3.


Заключение

Таким образом мы спроектировали информационную систему «Провайдер конечной мили Gigabit». Построили диаграмму прецедентов и диаграмму отношений сущностей в среде UML. Спроектировали и рассмотрели структуру базы данных по предметной области «Провайдер конечной мили Gigabit». В данной работе было продемонстрировано создание таблиц, колонок, ограничений первичного ключа, внешнего ключа, уникального ключа и создание последовательностей, объяснение некоторых функций. Рассмотрели список некоторых тип данных и их употреблений. В ходе курсовой работы, а именно в практической части были использованы следующие программные средства:

- Umbrello v. 2.6.5 – унифицированный язык моделирования.

- PostgreSQL v. 9.0.4 – сервер СУБД.

- phpPgAdmin v. 5.0.4 – веб-интерфейс СУБД PostgreSQL.

Список литературы

1. http://www.postgresql.org/files/documentation/pdf/9.0/postgresql-9.0-US.pdf

2. http://postgresql.ru.net/manual/datatype.html

3. Дж. Уорсли, Дж. Дрейк. PostgreSQL для профессионалов. Изд. Питер, 2003 г.

4. Арлоу Д., Нейштадт А - UML 2 и унифицированный процесс. Практический объектно-ориентированный анализ и проектирование, 2-е издание. – Пер. с англ. – СПб: Символ-Плюс, 2007. – 624 с.

5. Грекул В. И., Г. Н. Денищенко, Н. Л. Коровкина. - Проектирование информационных систем: курс лекций: учеб. Пособие для студентов вузов, обучающихся по специальностям в области информ. технологий – М.: Интренет-Ун-т Информ. технологий, 2005. – 304 с.

 


 


Дата добавления: 2015-09-04; просмотров: 165 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Моделирование диаграммы прецедентов и диаграммы отношений сущностей по предметной области «Провайдер конечной мили Gigabit».| Приложения

mybiblioteka.su - 2015-2024 год. (0.009 сек.)