43042

Создание базы данных (домашней библиотеки) в среде MySQl

Курсовая

Информатика, кибернетика и программирование

Техническое задание Структура данных Используемые запросы Список использованной литературы Задание Создать базу данных домашнюю библиотеку в среде MySQl.php method=GET p Input hostnme p P input type=text nme=host P p Input User nme p P input type=text nme=nme P p Input DtBse nme p P input type=text nme=dbnme P P input type=hidden nme=ifprn vlue=N P P input type=submit nme=but vlue=Ok P form ; } else { link = mysql_connect host nme or die Couldn't connect: ; print Connection successful n...

Русский

2013-11-04

93 KB

84 чел.

Московский государственный институт электроники и математики
(технический университет)

Курсовая работа

по дисциплине   “Базы данных”

Выполнил студент группы С-55
Виктор Владимирович Шапцов
Проверил  профессор
Зарудный Д.И.


Москва — 2004

Оглавление

  1.  Техническое задание
  2.  Структура данных
  3.  Используемые запросы
  4.  Список использованной литературы

Задание

Создать базу данных (домашнюю библиотеку) в среде MySQl. Предусмотреть возможность фильтрации данных (с использованием  SQL запросов). Использовать не менее 3-х связанных таблиц с ключевыми (идентификационными) полями.

Структура данных

Структура данных представляет собой набор связанных таблиц. Всего четыре таблицы: ”Авторы”, ”Жанр”, ”Книги”, ”Местоположение”. Рассмотрим каждую из этих таблиц.

У нас есть данные, такие как фамилия, имя, отчество автора книги, название книги, год её издания, количество томов, жанр, местоположение книги.

Рассмотрим таблицу Книги

Код книги

КодАвтора

КодЖанра

КодМестоположения

Год издания

КолличествоТомов

Название

1

1

1

1

1807

5

Избранное

2

2

2

2

1861

2

Война и мир

3

1

2

2

1808

1

Сказка о золотом петушке

Данная таблица содержит ключевое поле ”Код книги”, содержащее идентификационный номер каждой книги.  Поля ” КодАвтора”, ” КодЖанра”,   ”КодМестоположения” связаны с одноимёнными полями таблиц ”Авторы”, ”Жанр” и ”Местоположение” и содержат идентификационные номера значений, находящихся в оставшихся таблицах.

Далее рассмотрим таблицу Авторы

Авторы

Код автора

Фамилия

Имя

Отчество

1

Пушкин

Александр

Сергеевич

2

Толстой

Лев

Николаевич

Данная таблица содержит ключевое поле ”КодАвтора”, содержащее идентификационный номер каждой записи, соответствующей ФИО каждого из авторов книг, которые содержатся в таблице ”Книги”.

Таблица Жанр

Жанр

КодЖанра

Жанр

1

Поэзия

2

Художественная

Таблица ”Жанр” содержит ключевое поле ”КодЖанра”, содержащее идентификационный номер каждой записи, соответствующей жанру каждой из книг,  содержащихся в таблице ”Книги”.

Таблица Местоположение

Местоположение

КодМестоположения

Местоположение

1

полка1

2

полка2

3

Полка3

Таблица ”Местоположение” содержит ключевое поле ”КодМестоположения”, содержащее идентификационный номер каждой записи, соответствующей Местоположению каждой из книг, содержащихся в таблице ”Книги”.

Связи между таблицами будут представлены ниже

  ”Жанр”

КодКниги

КодАвтора

КодЖанра

КодМестоположения

ГодИздания

КолличествоТомов

Название

КодЖанра

Жанр

КодАвтора

Фамилия

Имя

Отчество

Книги

    *                 

”Авторы”

      ”Местоположение

КодМестоположения

Местоположение

Смысл создания не одной таблицы, а нескольких заключается в том, что некотрые значения (такие, как ФИО авторов книг, местоположения книг, и их жанр) могут повтовяться и при введении в базу новой книги целесообразнее пользоваться выкидными окнами типа COMBOBOX, и не вводить эти данные вручную, а выбирать их из списка имеющихся. Данные списков же берутся из таблиц ”Авторы”, ”Жанр”, ”Местоположение”. Причём в таблице ”Книги” хранятся не реальные значения таблиц ”Авторы”, ”Жанр”, ”Местоположение”, а идентификационные номера этих значений.

Используемые запросы

Для того, чтоб помещать данные в таблицу и делать из неё выборку мы пользуемся  SQL запросами. Среда разработки – QuantA Plus. Язык программирования – Php. Это позволяет создать html страницы, доступные через Internet. Технические требовадия – наличие SQL-Server, Web с поддержкой Php и Html. Проверка продукта поизводилась в Web BrowserMozilla” в операционной системе Linux XP-Professional

Приведем исходный текст программ, написанных на Php.

Для того, чтоб подключиться к электронным таблицам и создать нужную нам создаём страницу Db.php

<html>

<head>

 <title>new page</title>

 <meta name="GENERATOR" content="Quanta Plus">

</head>

<body>

<?

if ($ifprn == "") {

echo "$ifprn";

echo "<form action=dbc.php method=GET>

<p>Input host-name</p>

<P><input type=text name=host></P>

<p>Input User name</p>

<P><input type=text name=name></P>

<p>Input DataBase name</p>

<P><input type=text name=dbname></P>

<P><input type=hidden name=ifprn value=N></P>

<P><input type=submit name=but value=Ok></P>

   </form>";

  }

else {

$link = mysql_connect("$host","$name")

or die ("Couldn't connect:");

print "Connection successful\n";

if (mysql_create_db($dbname)) {

print ("Db created\n");

} else {

print ("Error creadb\n");

}

mysql_select_db("$dbname") or die("Could not select database");

$query1 = "CREATE TABLE auth (auth_id int,name varchar(45),surname varchar(45),middlename varchar(45))";

$query2 = "CREATE TABLE loc (loc_id int,locat varchar(45))";

$query3 = "CREATE TABLE genre (gen_id int,genr varchar(45))";

$query4 = "CREATE TABLE book (book_id int,auth_id int,gen_id int,loc_id int,book varchar(45),year varchar(45),vol varchar(45))";

mysql_query($query1) or die("Query failed : " . mysql_error());

mysql_query($query2) or die("Query failed : " . mysql_error());

mysql_query($query3) or die("Query failed : " . mysql_error());

mysql_query($query4) or die("Query failed : " . mysql_error());

mysql_query("COMMIT");

mysql_close($link);

echo "Data input\n";

}

?>

</body>

</html>

Эта страница открывается однажды при создании таблиц. Здесь мы вводим имя компьютера ,Host, имя пользователя, название базы данных

Далее переходим на главную страницу, содержащую ссыски на страницы пополнения базы данных и выборки из неё информации.

<html>

<head>

 <title>new page1</title>

 <meta name="GENERATOR" content="Quanta Plus">

</head>

<body>

<P align="CENTER">Home lib</P>

<TABLE WIDTH=100%>

<TR><TD align="CENTER"><a href="auth.php" >заполнение по автору</a></TD><TD align="CENTER"><a href="genre.php"> заполнение по жару </a></TD><TD align="CENTER"><a href="loc.php"> заполнение по местоположению </a></TD><TD align="CENTER"><a href="book1.php"> выборка </a></TD></TR>

</TABLE>

</body>

Для заполнения таблицы по автору

<html>

<head>

 <title>new page1</title>

 <meta name="GENERATOR" content="Quanta Plus">

</head>

<body>

<?

if ($ifprn == "") {

echo "$ifprn";

echo "<form action=auth.php method=GET>

<p>пїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ/p>

<P><input type=text name=authname></P>

<p>пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ/p>

<P><input type=text name=authsur></P>

<p>пїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ/p>

<P><input type=text name=authmid></P>

<p></p>

<P><input type=hidden name=ifprn value=N></P>

<P><input type=submit name=but value=Ok></P>

   </form>";

  }

else {

$link = mysql_connect("192.0.0.2","root")

or die ("Couldn't connect:");

print "Connection successful\n";

mysql_select_db("lib") or die("Could not select database");

$qid="SELECT MAX(auth_id) from auth";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

$row = mysql_fetch_array($fid, MYSQL_NUM);

$id = $row[0]+1;

echo "$id";

$query = "INSERT INTO auth (auth_id, name, surname, middlename) values ('$id','$authname','$authsur','$authmid')";

$result = mysql_query($query) or die("Query failed : " . mysql_error());

mysql_query("COMMIT");

mysql_close($link);

echo "Data input\n";

echo "<p><form action=index.html></p>

<p><input type=submit value=HomePage></p>

</form>";

echo "<p><form action=auth.php></p>

<p><input type=submit value=NewAuth></p>

 </form>";

}

?>

</body>

</html>

Для заполнения таблицы по жанру

<html>

<head>

 <title>new page1</title>

 <meta name="GENERATOR" content="Quanta Plus">

</head>

<body>

<?

if ($ifprn == "") {

echo "$ifprn";

echo "<form action=genre.php method=GET>

<p>пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅпїЅпїЅ/p>

<P><input type=text name=genname></P>

<p></p>

<P><input type=hidden name=ifprn value=N></P>

<P><input type=submit name=but value=Ok></P>

   </form>";

  }

else {

$link = mysql_connect("192.0.0.2","root")

or die ("Couldn't connect:");

print "Connection successful\n";

mysql_select_db("lib") or die("Could not select database");

$qid="SELECT MAX(gen_id) from genre";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

$row = mysql_fetch_array($fid, MYSQL_NUM);

$id = $row[0]+1;

echo "$id";

$query = "INSERT INTO genre (gen_id, genr) values ('$id','$genname')";

$result = mysql_query($query) or die("Query failed : " . mysql_error());

mysql_query("COMMIT");

mysql_close($link);

echo "Data input\n";

echo "<p><form action=index.html></p>

<p><input type=submit value=HomePage></p>

</form>";

echo "<p><form action=genre.php></p>

<p><input type=submit value=NewGenre></p>

 </form>";

}

?>

</body>

</html>

Для заполнения таблицы по местоположению

<html>

<head>

 <title>new page1</title>

 <meta name="GENERATOR" content="Quanta Plus">

</head>

<body>

<?

if ($ifprn == "") {

echo "$ifprn";

echo "<form action=loc.php method=GET>

<p>пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ</p>

<P><input type=text name=locname></P>

<p></p>

<P><input type=hidden name=ifprn value=N></P>

<P><input type=submit name=but value=Ok></P>

   </form>";

  }

else {

$link = mysql_connect("192.0.0.2","root")

or die ("Couldn't connect:");

print "Connection successful\n";

mysql_select_db("lib") or die("Could not select database");

$qid="SELECT MAX(loc_id) from loc";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

$row = mysql_fetch_array($fid, MYSQL_NUM);

$id = $row[0]+1;

echo "$id";

$query = "INSERT INTO loc (loc_id, locat) values ('$id','$locname')";

$result = mysql_query($query) or die("Query failed : " . mysql_error());

mysql_query("COMMIT");

mysql_close($link);

echo "Data input\n";

echo "<p><form action=index.html></p>

<p><input type=submit value=HomePage></p>

</form>";

echo "<p><form action=loc.php></p>

<p><input type=submit value=NewLocation></p>

 </form>";

}

?>

</body>

</html>

Для ароизведения выборки

<html>

<head>

 <title></title>

 <meta name="GENERATOR" content="Quanta Plus">

</head>

<body>

<?

$link = mysql_connect("192.0.0.2","root")

or die ("Couldn't connect:");

print "Connection successful\n";

mysql_select_db("lib") or die("Could not select database");

if ($ifprn == "") {

echo  "<form action=viborka.php method=GET>";

$qid="SELECT * from auth";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

echo "<p><select name=auth>";

while ($row = mysql_fetch_array($fid, MYSQL_NUM)) {

$id = $row[0];

$name = "$row[1] $row[3] $row[2]";

echo "<OPTION value=$id>$name</OPTION>";

   }

   mysql_free_result($fid);

echo "</select></p>";

$qid="SELECT * from loc";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

echo "<p><select name=loc>";

while ($row = mysql_fetch_array($fid, MYSQL_NUM)) {

$id = $row[0];

$name = "$row[1]";

echo "<OPTION value=$id>$name</OPTION>";

   }

   mysql_free_result($fid);

echo "</select></p>";

$qid="SELECT * from genre";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

echo "<p><select name=genre>";

while ($row = mysql_fetch_array($fid, MYSQL_NUM)) {

$id = $row[0];

$name = "$row[1]";

echo "<OPTION value=$id>$name</OPTION>";

   }

   mysql_free_result($fid);

echo "</select></p>";

echo "<p></p>

  <P><input type=hidden name=ifprn value=N></P>";

echo "<p><input type=submit value=Ok></p>

 </form>";

 }else{

$qid="SELECT MAX(book_id) from book";

$fid = mysql_query($qid) or die("Query failed : " . mysql_error());

$row = mysql_fetch_array($fid, MYSQL_NUM);

$bid = $row[0];

echo "<p><textarea>";

 $aut="SELECT * from auth where (auth_id = '$auth')";

 $autho = mysql_query($aut) or die("Query failed : " . mysql_error());

 $row = mysql_fetch_array($autho, MYSQL_NUM);

 $author ="$row[1] $row[3] $row[2]";

 echo "$author";

echo "</textarea></p>";

echo "<p><TABLE width= 100%><TR><TD>Название</TD><TD>Год издания</TD><TD>Колличество томов</TD><TD>Размещение</TD><TD>Жанр</TD></TR>";

 $b="SELECT * from book where (auth_id = '$auth')";

 $bo = mysql_query($b) or die("Query failed : " . mysql_error());

 while ($boo = mysql_fetch_array($bo, MYSQL_NUM)) {

 $book ="$boo[4] $boo[5] $boo[6]";

 $g="SELECT * from genre where (gen_id = '$boo[2]')";

 $ge = mysql_query($g) or die("Query failed : " . mysql_error());

 $gen = mysql_fetch_array($ge, MYSQL_NUM);

 $l="SELECT * from loc where (loc_id = '$boo[3]')";

 $lo = mysql_query($l) or die("Query failed : " . mysql_error());

 $loc = mysql_fetch_array($lo, MYSQL_NUM);

echo "<TR><TD>$boo[4]</TD><TD>$boo[5]</TD><TD>$boo[6]</TD><TD>$loc[1]</TD><TD>$gen[1]</TD></TR>";

}

echo "</TABLE></p>";

}

/* mysql_close($link);*/

?>

</body>

</html>

Технические требования – наличие SQL-Server, Web с поддержкой Php и Html. Проверка продукта производилась в Web BrowserMozilla” в операционной системе Linux XP-Professional

Список использованной литературы

  1.  Microsoft SQL Server 2000. Лизенбардт, Стинглер Москва: Издательство BHV      2001 г.
  2.  Офисное программирование Php В.А. Биллинг. Москва. 1998 г.
  3.  Php..  Москва издательство “Hitech ” 1998 г.

10

  1.  

 

А также другие работы, которые могут Вас заинтересовать

58475. Двомембранні органели і мітохондрії і пластиди. Фотосинтез, дихання 35.5 KB
  Мета: познайомити з будовою та функціями двомембранних органел: мітохондріями та пластидами, фазами мітозу, з клітинним циклом, поняттями, каріотип, фотосинтез, дихання, мітохондрія, хлоропласт, хемосинтез з процесами фотосинтезу та дихання, вчити порівнювати ці два процеси між собою...
58476. Урок биологии 165 KB
  Подготовка учителя к урокам. Постановка цели урока. Структура урока этапы комбинированного урока. Проведение урока биологии Перспективное и поурочное планирование Основой для планирования учебно-воспитательного образовательного процесса по биологии является анализ существующих нормативных требований программ учебных и дидактических пособий и опыта педагогической деятельности учителя.
58477. Вид. Критерии вида 45.5 KB
  Цели урока: обучающие: сформулировать определения понятиям вид критерии вида; изучить критерии вида и их содержание; развивающие: продолжить развитие коммуникативных умений при работе в группах устной монологической речи учащихся...
58478. Уроки Чистоты на территории Пермского края 3.73 MB
  Технологии сортировки отходов уже реализуются в некоторых российских городах. Для успешной организации сортировки очень важна первая ступень раздельный сбор отходов жителями. По статистике каждый из нас ежегодно образует 300 кг отходов.
58479. Рідна домівка, рідна сім’я – тут виростає доля моя. В.Гринько «Сім». В.Сухомлинський «Тетянка усміхається» 73 KB
  Доброго здоров’я всім В добрий день і в добрий час Рада всіх вітати вас. Який розділ ви почали вивчати на попередньому уроці Рідна домівкарідна сім’ятут виростає доля моя З якими піснями ви ознайомилися на минулому уроці Роде наш красний...
58480. Проектирование молодежного кафе – «KFC» 752 KB
  Молодежное кафе, как организация является обществом с ограниченной ответственностью предприятие бытового обслуживания (ООО ПБО). Общество с ограниченной ответственностью является разновидностью объединения капиталов, не требующего личного участия своих членов в делах общества
58481. Розробка програмного забезпечення (ПЗ) для інформаційної підтримки велодоріжок м. Хмельницький 16.04 MB
  До ПЗ розроблено специфікацію вимог, що описує функціональні та нефункціональні вимоги до нього. На основі цієї специфікації та аналізу предметної області, а також вибраних технологій та засобів розробки, здійснено проектування ПЗ для інформаційної підтримки велодоріжок м. Хмельницький.
58482. Ресурсы и факторы производства 90.5 KB
  Цели: Обучающие: познакомить учащихся с понятиями: ресурсы факторы производства процесс производства доходность факторов производства; научить школьников определению необходимых ресурсов для нового предприятия; Развивающие: привить интерес к изучаемому материалу...
58483. Губернский профессиональный колледж . 116.5 KB
  Цели: образовательные: познакомить учащихся с популярным в нашей стране туристско-экскурсионным маршрутом по древним русским городам; совершить заочное путешествие в 4 города Золотого кольца...