Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА_8_Разработка пользовательск...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.19 Mб
Скачать

9.4.3.2. Создание логической модели данных

После того, как все сущности созданы (рис. 5), необходимо установить связи между ними, продумывая тип связи. Например, между сущностью Predprijatie и Sirjo устанавливаем неидентифицирующую связь, так как код предприятия не должен входить в область первичных ключей сущности Sirjo. Kod_sr полностью идентифицирует запись о сырье.

Между сущностью Izdelie и Rasxod устанавливаем идентифицирующую связь, так как Kod_izd является частью составного первичного ключа сущности Rasxod.

Рис. 5. Сущности БД

Законченная логическая схема БД со всеми установленными связями приведена на рис. 6.

Рис. 6. Логическая модель БД

9.4.3.3. Переход к физической модели данных

9.4.3.4. Генерация скрипта бд

Скрипт создания базы данных для MySQL. Текст скрипта приведен ниже.

--

--ER/Studio 6.0 SQL Code Generation

-- Company : HOME

-- Project : Model1.DM1

-- Author : Olga

--

-- Date Created : Thursday, January 17, 2008 23:37:11

-- Target DBMS : MySQL 4.x

--

--

-- TABLE: Izdelie

--

CREATE TABLE Izdelie(

Kod_izd CHAR(3) NOT NULL,

Name_izd CHAR(15),

Stoimost_izd FLOAT,

PRIMARY KEY (Kod_izd)

)

;

--

-- TABLE: Predprijatie

--

CREATE TABLE Predprijatie(

Kod_pr CHAR(3) NOT NULL,

BankSchet CHAR(10),

Adres CHAR(30),

Name_pr CHAR(25),

PRIMARY KEY (Kod_pr)

)

;

--

-- TABLE: Rasxod

--

CREATE TABLE Rasxod(

Kod_sr CHAR(3) NOT NULL,

Kod_izd CHAR(3) NOT NULL,

Kol FLOAT,

PRIMARY KEY (Kod_sr, Kod_izd)

)

;

--

-- TABLE: Realizacija

--

CREATE TABLE Realizacija(

Nom_nakl INT NOT NULL,

Data_real DATE,

Kol FLOAT,

Kod_pr CHAR(3) NOT NULL,

Kod_izd CHAR(3) NOT NULL,

PRIMARY KEY (Nom_nakl)

)

;

--

-- TABLE: Sirjo

--

CREATE TABLE Sirjo(

Kod_sr CHAR(3) NOT NULL,

Name_sr CHAR(15),

Stoimost_edinici FLOAT,

Kod_pr CHAR(3) NOT NULL,

PRIMARY KEY (Kod_sr)

)

;

--

-- TABLE: Rasxod

--

ALTER TABLE Rasxod ADD CONSTRAINT RefSirjo3

FOREIGN KEY (Kod_sr)

REFERENCES Sirjo(Kod_sr)

;

ALTER TABLE Rasxod ADD CONSTRAINT RefIzdelie4

FOREIGN KEY (Kod_izd)

REFERENCES Izdelie(Kod_izd)

;

--

-- TABLE: Realizacija

--

ALTER TABLE Realizacija ADD CONSTRAINT RefPredprijatie5

FOREIGN KEY (Kod_pr)

REFERENCES Predprijatie(Kod_pr)

;

ALTER TABLE Realizacija ADD CONSTRAINT RefIzdelie6

FOREIGN KEY (Kod_izd)

REFERENCES Izdelie(Kod_izd)

;

--

-- TABLE: Sirjo

--

ALTER TABLE Sirjo ADD CONSTRAINT RefPredprijatie1

FOREIGN KEY (Kod_pr)

REFERENCES Predprijatie(Kod_pr)

;

9.4.4. Генерация базы данных на сервер

9.4.4.1. Создание бд путем разработки php-программ

1. Создание базы данных

Рассмотрим способ генерации БД на сервер MySQL с помощью PHP-программ, запускаемых на локальном сервере.

Прежде чем приступить к написанию PHP-скриптов, необходимо создать свою папку на локальном сервере, куда будут помещаться все скрипты. Папку необходимо разместить на диске, где установлен Денвер (допустим, диск Z) по такому пути: Z:\home\localhost\www. Таким образом, в директории «www» необходимо создать папку со своей фамилией (на английском языке). Пример создания директории для проекта приведен на рис. 14.

Рис. 14. Создание собственной директории для проекта

После создания директории для проекта можно приступать к созданию PHP-скриптов проекта.

Прежде чем создать БД, необходимо открыть постоянное соединение с MySQL-сервером. База данных создается с помощью функции mysql_create_db(). Ниже представлен скрипт создания базы данных.

<?php

$link = mysql_pconnect("localhost", "root")

or exit("Невозможно установить соединение");

if (mysql_create_db("Ychet_izdelij")) {

print ("База данных создана успешно\n");

} else {

printf ("Ошибка создания базы данных: %s\n", mysql_error ());

}

?>

Данный скрипт размещаем на локальном сервере в созданной ранее папке.