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

2. Установка соединения, создание таблиц и связей

Чтобы работать с базой данных, необходимо установить с ней сетевое соединение, а также провести авторизацию пользователя. Для этого служит функция mysql_connect(). После установки соединения выбираем БД функцией mysql_select_db( ). Далее можно приступать к созданию таблиц. Таблицы будем создавать с помощью функции mysql_query(), которая выполняет запросы SQL.

Так как объекты базы данных будут создаваться с помощью запросов, можно воспользоваться ранее сгенерированным скриптом.

PHP-скрипт для создания объектов базы данных приведен ниже.

<?php

$db = mysql_connect("localhost","root");

mysql_select_db("Ychet_izdelij",$db);

$result=mysql_query("CREATE TABLE Izdelie(

Kod_izd CHAR(3) NOT NULL,

Name_izd CHAR(15),

Stoimost_izd FLOAT,

PRIMARY KEY (Kod_izd)

)",$db);

$result=mysql_query("CREATE TABLE Predprijatie(

Kod_pr CHAR(3) NOT NULL,

BankSchet CHAR(10),

Adres CHAR(30),

Name_pr CHAR(25),

PRIMARY KEY (Kod_pr)

)",$db);

$result=mysql_query("CREATE TABLE Rasxod(

Kod_sr CHAR(3) NOT NULL,

Kod_izd CHAR(3) NOT NULL,

Kol FLOAT,

PRIMARY KEY (Kod_sr, Kod_izd)

)",$db);

$result=mysql_query("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)

)",$db);

$result=mysql_query("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)

)",$db);

$result=mysql_query("ALTER TABLE Rasxod ADD CONSTRAINT RefSirjo3 FOREIGN KEY (Kod_sr) REFERENCES Sirjo(Kod_sr)",$db);

$result=mysql_query("ALTER TABLE Rasxod ADD CONSTRAINT RefIzdelie4 FOREIGN KEY (Kod_izd) REFERENCES Izdelie(Kod_izd)",$db);

$result=mysql_query("ALTER TABLE Realizacija ADD CONSTRAINT RefPredprijatie5 FOREIGN KEY (Kod_pr) REFERENCES Predprijatie(Kod_pr)",$db);

$result=mysql_query("ALTER TABLE Realizacija ADD CONSTRAINT RefIzdelie6 FOREIGN KEY (Kod_izd) REFERENCES Izdelie(Kod_izd)",$db);

$result=mysql_query("ALTER TABLE Sirjo ADD CONSTRAINT RefPredprijatie1 FOREIGN KEY (Kod_pr) REFERENCES Predprijatie(Kod_pr)",$db);

mysql_close($db);

?>

3. Проверка правильности создания бд

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

<?php

$dbname = "Ychet_izdelij";

if (!mysql_connect("localhost", "root")) {

print "Невозможно соединиться с mysql";

exit;

}

$result = mysql_list_tables($dbname);

if (!$result) {

print "Ошибка БД, невозможно вывести список таблиц\n";

print "MySQL Error: " . mysql_error();

exit;

}

while ($row = mysql_fetch_row($result)) {

print "Таблица: $row[0] \n";

}

mysql_free_result($result);

?>

Рис. 15. Результат работы скрипта для вывода списка таблиц в БД