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

210 чел.

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

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

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

Выполнил студент группы С-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.  

 

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

66810. ПІДВИЩЕННЯ СПОРТИВНОЇ МАЙСТЕРНОСТІ З ОБРАНОГО ВИДУ СПОРТУ 146 KB
  Виконання студентами-заочниками контрольної роботи сприяє поглибленню та закріпленню теоретичних знань з теорії та методики обраного виду спорту. Студенти набувають навичок самостійної роботи з літературою, навчаються порівнювати...
66814. Методи та технології інтерактивного навчання 88.45 KB
  За метою та початковою фазою дуже нагадує попередній варіант групової роботи. Аде після об'єднання в групи й виконання завдання учні не роблять записів на дошці, а передають свій варіант іншим групам. Ті доповнюють його своїми думками, підкреслюють те, Із чим не погоджуються.
66815. Композиция костюма 39.14 MB
  Что такое форма одежды Каково ее назначение в одежде Форма это наружный вид внешнее очертание предметов которое может быть представлено рисунком чертежом или макетом. В швейной промышленности под формой одежды понимают объемно пространственную структуру изделия надетого на человека.
66816. Роман «Красное и Черное» Стендаль 29.65 MB
  Изображены старшие братья Жюльена. Считаю что более верным решением было б изображение отца Сореля ударившего Жюльена в то время когда тот читал книжку. Художник показывает внутреннее состояние Жюльена. Может художник и считал нужным показать сближение госпожи...
66818. Анализ состояния расходной части бюджета МО администрация городского поселения город Лихославль, Лихославльского муниципального района, Тверской области 2.52 MB
  Распределительную функцию бюджета можно назвать наиболее важной, так как через эту именно функцию проявляется сущность бюджета и системы бюджетных отношений: формирование и расходование денежных фондов на разных уровнях государственной и местной власти...