Смекни!
smekni.com

Создание сайта "Красная книга" (стр. 1 из 4)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное образовательное учреждение

высшего профессионального образования

"Чувашский государственный университет им. И.Н. Ульянова"

Факультет информатики и вычислительной техники

Кафедра "Информационно-вычислительных систем"

Дисциплина "Базы данных"

Пояснительная записка к курсовой работе

Тема: "Красная Книга"

Выполнил:

студент гр. ИВТ 11-07

Сидоров В.Б.

Проверил:

Буланкина Е.Ю.

Чебоксары – 2010


Содержание

1. Задание

2. Анализ. Предметная область

2.1 Перечень и описание функций приложения обработки базы данных

2.2 Перечень и описание сущностей и атрибутов базы данных

2.3 Перечень и описание всех атрибутов базы данных

3. Проектирование. Нормализация базы данных. Схема данных

3.1 Пошаговое описание нормализации базы данных (методом ER-диаграмм)

3.2 Схема данных

3.3 Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице

4. Программная часть. Руководство программиста

4.1 Входные и выходные данные

4.1.1 Словесное описание

4.1.2 Описание функций

5. Сопровождение. Руководство пользователя

5.1 Описание

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

7. Приложение


1. Задание

Красная Книга

В Красной Книге хранится информация о животном или растении: реестровый номер, русское и латинское название животного (т.е. вид и род), дата занесения объекта в Красную Книгу. Также хранятся данные о том, к какому царству, классу, семейству, роду и виду принадлежит объект. Также об объекте известна популяция в отдельном регионе.

Реализованы функции просмотра перечня, просмотра данных о популяциях, поиск по ключевому слову, добавление в базу


2. Анализ. Предметная область

2.2 Перечень и описание функций приложения обработки базы данных

1. Хранение информации о животных и растениях

2. Хранение данных о популяциях

3. Занесение и хранение информации об объектах

4. Поиск по заданному параметру: реестровый номер, русское название, латинское название, дата занесения в реестр, царство, класс и т.д.

2.2 Перечень и описание сущностей базы данных

Объект. Каждое создание имеет уникальный реестровый номер, русское и латинское название, дату занесения, принадлежит к периодическим группам, известна их популяция и ареал обитания.

Регионы. Экземпляр сущности определяется уникальным номером (номера, как на автономерах) и собственно названием региона.

Царство. Экземпляр сущности определяется уникальным номером и собственно названием царства.

Класс. Экземпляр сущности определяется уникальным номером и собственно названием класса.

Семейство. Экземпляр сущности определяется уникальным номером и собственно названием семейства.

Род. Экземпляр сущности определяется уникальным номером и собственно названием рода.

Вид. Экземпляр сущности определяется уникальным номером и собственно названием вида.


2.3 Перечень и описание всех атрибутов базы данных

1 ID_Creature Реестровый номер существа
2 Rus_Name Русское название существа
3 Lat_Name Латинское название существа
4 Date Дата занесения существа в реестр
5 ID_Kingdom Код царства
6 Name_Kingdom Царство
7 ID_Class Код класса
8 Name_Class Класс
9 ID_Family Код семейства
10 Name_Family Семейство
11 ID_Sort Код рода
12 Name_Sort Род
13 ID_Kind Код вида
14 Name_Kind Вид
15 ID_Region Код региона
16 Name_Region Регион
17 Population Численная оценка популяции

3. Проектирование. Нормализация базы данных. Схема данных

3.1 Пошаговое описание нормализации базы данных (методом ER-диаграмм)

Нормализуем каждую связь используя соответствующие правила нормализации ER-диаграмм. Врезультатеполучимготовуюсхемуданных.

3.2 Схемаданных

MAIN(ID_Creature, Rus_Name, Lat_Name, Date, ID_Kingdom, ID_Class, ID_Family, ID_Sort, ID_Kind,ID_Region, Population)

Regions(ID_Region, Region_Name)

Kingdom(ID_Kingdom, Kingdom_Name)

Class(ID_Class, Class_Name)

Family(ID_Family, Family_Name)

Regions(ID_Sort, Sort_Name)

Regions(ID_Kind, Kind_Name)


3.3 Перечень и описание таблиц и их полей в сводной таблице

MAIN
ID_Creature Реестровый номер Int (11)
Rus_Name Номер группы Int (11)
Lat_Name ФИО студента Varchar(77)
Date Номер предприятияпрохождения практики Date
ID_Kingdom Int (11)
ID_Class Int (11)
ID_Family Int (11)
ID_Sort Int (11)
ID_Kind Int (11)
ID_region Int (11)
Population Int (11)
Regions
ID_Region Номер региона Int (11)
Name_Region Название региона Varchar(77)
Kingdom
ID_Kingdom Код царства Int (11)
Name_Kingdom Царство Varchar(77)
Class
ID_Class Код класса Int (11)
EntName Класс Varchar(77)
Family
ID_Family Код семейства Int (11)
Name_Family Семейство Varchar(77)
Sort
ID_Sort Код рода Int (11)
Name_Sort Род Varchar(77)
Kind
ID_Kind Код вида Int (11)
Name_Kind Вид Varchar(77)

4. Программная часть. Руководство программиста

4.2. Входные и выходные данные

4.1.1 Словесное описание

Стартовая страница содержит ряд ссылок, открывающих соответствующие страницы

<ahref="index.php">На главную </a> | <ahref="listing.php"> Перечень </a> | <ahref="search.php"> Поиск </a> | <ahref="add.php"> Регистрация </a> |

Страница "Перечень" (listing.php) отображает список животных и растений, занесённых в Красную Книгу:

<?php

require_once("connection.php");

$sql="SELECT Rus_Name, Lat_Name, Date, Name_Kingdom, Name_Class, Name_Family, Name_Sort FROM (((MAIN join 1_Kingdom on MAIN.ID_Kingdom = 1_Kingdom.ID_Kingdom) join 2_Class on MAIN.ID_Class = 2_Class.ID_Class) join 3_Family on MAIN.ID_Family = 3_Family.ID_Family) join 4_Sort on MAIN.ID_Sort = 4_Sort.ID_Sort";

$result = mysql_query($sql);

print ("<div align=center><H1> Списокохраняемыхживотныхирастений </H1></div><br>");

print ("<div align=center><table border = 1>");

echo "<tr><td> Русское название </td><td>Латинское название </td><td> Дата регистрации </td><td> Царство </td><td> Класс </td><td> Семейство </td><td> Род </td></tr>";

if ($myrow = mysql_fetch_array($result))

{

do

{

printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $myrow["Rus_Name"], $myrow["Lat_Name"], $myrow["Date"], $myrow["Name_Kingdom"], $myrow["Name_Class"], $myrow["Name_Family"], $myrow["Name_Sort"]);

}

while ($myrow = mysql_fetch_array($result));

}

?>

На странице также реализована возможность занесения новых записей. Кнопка "Внести "

Обработчик кнопки "добавить" вносит изменения в базу:

<?php

if (@$new1)

{

?>

<div align=center>

<FORM name="mean" method="post" action="add.php">

<br>

Введите реестровый номер:<input type="text" name = "Number"> <br>

Введите русское название:<inputtype="text" name = "RN"> <br>

Введите латинское название:<inputtype="text" name = "LN"> <br>

Введите текущую дату в формате ГГГГ:ММ:ДД :<inputtype="text" name = "Date"> <br>

Определите царство:<input type="text" name = "Kingdom"> <br>

Определите класс:<input type="text" name = "Class"> <br>

Определите семейство:<input type="text" name = "Family"> <br>

Определите род:<input type="text" name = "Sort"> <br>

Определите вид:<input type="text" name = "Kind"> <br>

Введите название региона:<input type="text" name = "Region"> <br>

Введите популяцию:<input type="text" name = "Population"> <br>

<br>

<input type="submit" name = "stnew" value="Подтвердить"><br>

</FORM>

</div>

<?php

}

if(@$stnew)

{

if (empty($Number))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($RN))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($LN))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Date))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Kingdom))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Class))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Family))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Sort))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Kind))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Region))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

if (empty($Population))

{

print("<div align=center><h1>·ЗАПОЛНИТЕ ЯЧЕЙКУ!!!</div></h1>") ;

exit();

}

require_once("connection.php");

mysql_query("INSERT INTO MAIN (ID_Creature,Rus_Name, Lat_Name, Date, ID_Kingdom, ID_Class, ID_Family, ID_Sort, ID_Kind, ID_Region, Population) VALUES ('$Number','$RN','$LN','$Date, '$Kingdom', '$Class', '$Family', '$Sort', '$Kind', '$Region', '$Population')");

$result = mysql_query("SELECT * FROM MAIN WHERE ID_Creature = $Number");

?>

<br>

<br>

<div align=center><H4>ДОБАВЛЕНА ЗАПИСЬ:</H4></div><br>

<div align=center>

<table border = 1>

<table border = 1>

<tr><td> Код животного </td>

<td> Русское название </td>

<td> Латинское название </td>

<td> Дата занесения </td>