Проектирование информационной системы "Администратор гостиницы"
Системный анализ предметной области. Нормальные формы таблиц. Физическое проектирование базы данных. Реализация структуры БД в СУБД MySQL. Запросы на создание таблиц, добавление и выборку данных. Реализация триггера и функции. Программный код WEB-страниц.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.11.2014 |
Размер файла | 748,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Проектирование информационной системы «Администратор гостиницы»
1. Системный анализ предметной области
База данных системы должна содержать:
· Данные о классах номеров
· Список номеров
· Данные о клиентах
· Данные о заселении клиентов
· Возможность выписывать счета на оплату
· Возможность поиска клиентов.
Базовые сущности:
Гостиничные номера:
· Название номера
· Класс номера
· Этаж
· Количество мест
· Стоимость проживания.
Список клиентов:
· Фамилия И.О.
· Паспортные данные
Регистрация проживания:
· Заезжающий клиент
· Номер
· Дата приезда
· Дата отъезда
2. Нормализация
Первая нормальная форма
Таблица находится в первой нормальной форме, если она удовлетворяет следующим требованиям:
· Не содержит полей с несколькими значениями
· Ключевое поле не имеет пустот
В нашем случае в таблице клиентов паспортные данные клиентов могут содержать номер серию дату выдачи и место выдачи поэтому необходимо разбить это поле на : p_nomer, p_serial, p_data, p_point.
Для выполнения второго условия необходимо ввести ключевые поля.
Проанализируем:
Вторая нормальная форма:
Таблица находится во второй нормальной форме, если она удовлетворяет следующим требованиям:
· Таблица приведена к 1НФ
· Поля, которые зависят от части первичного ключа должны бить выведены в состав отдельных таблиц
· Все таблицы должны быть связаны между собой
В рассматриваемом примере таблицы уже приведены к 1НФ, то есть одно из требований выполнено.
В таблице Numbers поле CostDay зависит от поля Klass, поэтому надо создать отдельную таблицу содержащую классы номеров.
Для выполнения третьего условия необходимо назначить внешние ключи:
· Связываем таблицы Numbers и Klass по полю Klass
· Связываем таблицы Reestr и Numbers по полю Numer
· Связываем таблицы Reestr и Klients по полю Klient
Третья нормальная форма:
Таблица находится в третьей нормальной форме, если она удовлетворяет следующим требованиям:
· Таблица приведена к 2НФ
· Не должно быть транзитивных зависимостей между не ключевыми полями
В итоге база данных принимает вид:
Таблица 1 Физическое проектирование базы данных.
name |
type |
Key |
extra |
|
Таблица классов номеров (Num_klass) |
||||
Id |
integer |
primary key |
auto_increment |
|
Name |
varchar (20) |
|||
CostDay |
float |
|||
Список гостиничных номеров(Numbers) |
||||
Id |
integer |
primary key |
auto_increment |
|
Numer |
varchar(10) unique |
|||
Klass |
integer |
Foreign key |
REFERENCES Num_klass (id) |
|
stage |
integer |
|||
places |
integer |
|||
Таблица клиентов(Klients) |
||||
Id |
integer |
primary key |
auto_increment |
|
FIO |
varchar(50) |
|||
p_point |
varchar(50) |
|||
p_nomer |
Integer |
|||
p_serial |
Integer |
|||
p_data |
date |
|||
Таблица регистрационных действий(Reestr) |
||||
Id |
integer |
primary key |
auto_increment |
|
klient |
integer |
Foreign key |
REFERENCES klients (id) |
|
numer |
integer |
Foreign key |
REFERENCES numbers (id) |
|
data_p |
date |
|||
data_ot |
date |
3. Реализация структуры базы данных в СУБД MySQL
1. Запросы на создание таблиц:
create table Num_klass (
id integer primary key auto_increment,
Name varchar(20),
CostDay float
);
create table Numbers (
id integer primary key auto_increment,
Numer varchar(10) unique,
Klass integer,
stage integer,
places integer,
CONSTRAINT FOREIGN KEY ( klass ) REFERENCES Num_klass (id)
);
create table klients (
id integer primary key auto_increment,
FIO varchar(50),
pasport varchar(50)
);
create table reestr (
id integer primary key auto_increment,
klient integer,
numer integer,
data_p date,
data_ot date,
CONSTRAINT FOREIGN KEY ( numer ) REFERENCES numbers (id),
CONSTRAINT FOREIGN KEY ( klient ) REFERENCES klients (id)
);
2. Запросы на добавление данных
insert into num_klass(name,costday)values("Vip",10000);
insert into num_klass(name,costday)values("Luxe",8000);
insert into num_klass(name,costday)values("Premium",6000);
insert into num_klass(name,costday)values("Less",4000);
insert into num_klass(name,costday)values("Budget",2000);
insert into Numbers(numer,klass,stage,places)values("1408",1,5,2);
insert into Numbers(numer,klass,stage,places)values("1407",2,4,3);
insert into Numbers(numer,klass,stage,places)values("1406",3,3,4);
insert into Numbers(numer,klass,stage,places)values("1405",4,2,5);
insert into Numbers(numer,klass,stage,places)values("1404",5,1,6);
insert into Klients(FIO,pasport)values("Ivanov V.V.","qw2467");
insert into Klients(FIO,pasport)values("Petrov A.V.","evta89490");
insert into Klients(FIO,pasport)values("Sidorov V.A.","khskj3546");
insert into Klients(FIO,pasport)values("Putin V.V.","qlkj53050");
insert into Klients(FIO,pasport)values("Geyts Bil","f*jio967");
insert into Reestr(klient,numer,data_p,data_ot)values(1,1,130101,130621);
insert into Reestr(klient,numer,data_p,data_ot)values(2,2,130201,130321);
insert into Reestr(klient,numer,data_p,data_ot)values(2,2,130401,130621);
insert into Reestr(klient,numer,data_p,data_ot)values(3,3,130101,130621);
insert into Reestr(klient,numer,data_p,data_ot)values(4,4,130301,130510);
insert into Reestr(klient,numer,data_p,data_ot)values(4,4,130521,130621);
insert into Reestr(klient,numer,data_p,data_ot)values(5,5,130101,130202);
insert into Reestr(klient,numer,data_p,data_ot)values(5,5,130203,130303);
insert into Reestr(klient,numer,data_p,data_ot)values(5,5,130310,130509);
insert into Reestr(klient,numer,data_p,data_ot)values(5,5,130521,130621);
3. Запросы на выборку данных.
Выбрать из справочной таблицы наименования и отсортировать их по двум произвольным имеющемуся в таблице признакам
Select * from klients order by fio,pasport;
Select Numer ,places from numbers order by stage;
Выбрать из указанной таблицы те записи, которые удовлетворяют условию отбора (where).
Select * from reestr where data_ot<CURRENT_DATE;
Select * from reestr where klient in (1,2,3);
Вывести информацию подчиненной (дочерней) таблицы, заменяя коды (значения внешних ключей) соответствующими символьными значениями из родительских таблиц.
select k.fio, r.data_p from reestr r inner join klients k on k.id= r.numer;
select k.name, n.numer from numbers n inner join num_klass k on k.id= n.klass;
Привести примеры 2-3 запросов с использованием агрегатных функций.
select count(numer) from numbers;
select max(costday) from num_klass;
Выбрать из таблиц информацию об объектах, значение произвольного атрибута в которых входит в заданный диапазон значений (чисел или дат).
select k.fio, n.numer, r.data_p, r.data_ot from reestr r
left join klients k on k.id=r.klient
left join numbers n on n.id=r.numer
where (r.data_ot>Current_date) and (r.data_p<=Current_date);
Привести пример вложенных запросов
select * from Numbers n where places > (
select count(numer) from reestr r where (r.numer=n.id)and (r.data_ot>CURRENT_DATE));
Получить список признаков для которых есть более одной записи.
запрос триггер программный
select * from (select k.fio, count(r.klient)as kol from reestr r left join klients k on k.id=r.klient group by k.fio) b
where b.kol>2;
Реализовать процедуру
Delimiter //
Create procedure myproc (out t integer(11))
NOT DETERMINISTIC
SQL SECURITY INVOKER
COMMENT `'
Begin
Select count(name) t from klients;
End;
//
Реализовать триггер
Create trigger ins_user after insert on reestr for each row set
begin
set new.createdate = Current_date;
end;
Реализовать функцию
Create function getKlient (search_id int)
Returns tinytext
Begin
Declare n tinytext;
Select name into n from clients where id=search_id;
Return n;
End;
//
Внешний вид
Рис 1. Главное окно.
Рис 2. Регистрация нового клиента.
Рис 3. Добавление нового номера.
Рис 4. Выписать счет на оплату.
Приложение
Программный код WEB-страниц
Index.php (см. рис 1)
<?include "base.php";
$r=ComandEnc("reestr",$_REQUEST);
if (isset($_REQUEST[send_mod]))
{$curid = $_REQUEST[id];
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=invoice.php?id=$curid'>
</HEAD></HTML>"; }?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Операции с номерами</title>
<link rel="stylesheet" type="text/css" href="cs.css">
</head>
<body>
<form action="index.php" method="post" name="input_num">
<table class="tbl">
<tr>
<td width=450px>
<table border="1" cellpadding="0" cellspacing="0">
<tr><td colspan="2" align="center"><strong>Регистрация заселения</strong>
<input type="hidden" name="id" value=<? echo($r[0]) ?>>
</td></tr>
<tr><td width="150">Клиент :</td>
<td>
<?GetPickData("select * from Klients","",1,"klient",$r[1]);?>
<a href ="klients.php">Новый клиент</a>
</td></tr>
<tr><td width="150">Номер :</td>
<td><? GetPickData("select * from Numbers n where places > (select count(numer) from reestr r
where (r.numer=n.id)and (r.data_ot>CURRENT_DATE)); ","
select * from Numbers n where places <= (select count(numer) from reestr r
where (r.numer=n.id)and (r.data_ot>CURRENT_DATE));",1,"numer",$r[2]);?>
<a href ="AddNum.php">Новый номер</a> <br> </td> </tr>
<tr><td width="150">Дата приезда :</td>
<td><input type="text" name="data_p" maxlength="30" value=<? echo($r[3])?> ></td></tr>
<tr><td width="150">Дата отъезда :</td>
<td><input type="text" name="data_ot" maxlength="30" value=<? echo($r[4])?> ></td>
</tr> <tr>
<td colspan="2" align="center"><input type="submit" name="prev" value="<<<" />
<input type="submit" name="next" value=">>>" /><input type="submit" name="add" value="Добавить"></td>
</tr> <tr><td colspan="2" align="center">
<input type="submit" name="insert_data" value="Сохранить" />
<input type="submit" name="delete_data" value="Удалить" />
<input type="submit" name="send_mod" value="Счет на оплату" />
</td> </tr></table></td><tr><td><table border=1><tr>
<td colspan=4> Список проживающих клиентов</td></tr><tr>
<td colspan = 4> <input type="text" name="edit_search">
<input class="small" type="submit" name="search" value="Найти">
</td> </tr><tr><td>Клиент</td><td>Номер</td><td>Дата приезда</td>
<td>Дата отъезда</td></tr>
<?if (isset($_REQUEST[search]))
{$sql="select k.fio, n.numer, r.data_p, r.data_ot from reestr r left join klients k on k.id=r.klient left join numbers n on n.id=r.numer where (r.data_ot>Current_date) and (r.data_p<=Current_date)and(k.fio like \"$_REQUEST[edit_search]%\" )";
}else
$sql="select k.fio, n.numer, r.data_p, r.data_ot from reestr r left join klients k on k.id=r.klient left join numbers n on n.id=r.numer where (r.data_ot>Current_date) and (r.data_p<=Current_date)";
View($sql , 0);?></td>
</tr></table></form></body></html>
Base.php
<?php
error_reporting(0);
if (!isset($db))
{ $hostname = "localhost";
$username = "root";
$password = "";
mysql_connect($hostname, $username, $password) or die ("Ошибка коннекта!!");
$db="Hot_admin";
mysql_select_db($db) or die (mysql_error());
mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");}
function CheckDup($tbl,$field, $value){
$res=mysql_query("SELECT * FROM $tbl where $field = $value");
if (mysql_fetch_row($res)){
return 1;}
else{
return 0;}}
function GetRow($sql){
return mysql_fetch_row(mysql_query($sql));}
function RowToForm($tbl,$id)
{$db=$GLOBALS['db'];
$list_f = mysql_list_fields($db , $tbl);
$name_f = mysql_field_name($list_f , 0);
$Cur=mysql_fetch_row(mysql_query("select * from $tbl where $name_f = $id;"));
return $Cur;}
function getNext($tbl,$cur)
{$db=$GLOBALS['db'];
$list_f = mysql_list_fields($db, $tbl);
$name_f = mysql_field_name($list_f,0);
$res=mysql_query("SELECT $name_f FROM $tbl WHERE $name_f>$cur ORDER BY $name_f ASC LIMIT 1");
if ($next=mysql_fetch_row($res)){
return RowToForm($tbl,$next[0]);}
else return RowToForm($tbl,$cur);}
function getPrev($tbl,$cur){
$db=$GLOBALS['db'];
$list_f = mysql_list_fields($db, $tbl);
$name_f = mysql_field_name($list_f,0);
$res=mysql_query("SELECT $name_f FROM $tbl WHERE $name_f<$cur ORDER BY $name_f DESC LIMIT 1");
if ($prev=mysql_fetch_row($res)){
return RowToForm($tbl,$prev[0]);}
else
return RowToForm($tbl,$cur);}
function insert($tbl)
{ $db=$GLOBALS['db'];
$list_f = mysql_list_fields($db, $tbl);
$n = mysql_num_fields($list_f);
$name_f = mysql_field_name($list_f,0);
$value = $_POST[$name_f];
if (CheckDup($tbl,$name_f,$value)) {
$sql = "Update $tbl SET ";
$wh=$where= " where $name_f = $value"; }
else{
$wh=" where $name_f in (select max($name_f) from $tbl)";
$sql = "INSERT INTO $tbl SET "; }
for($i = 0; $i < $n; $i++) {
$name_f = mysql_field_name($list_f,$i);
if ($name_f!="id") {
$value = $_POST[$name_f];
$j = $i + 1;
$sql = $sql.$name_f." = '$value'";
if ($j <> $n) $sql = $sql.", ";} }
if (isset($where)){
$sql.=$where;}
mysql_query($sql) or die(mysql_error());
$res=mysql_query("select * from $tbl $wh");
return mysql_fetch_row($res);}
Function View($tbl, $NeedHead){
if (!stristr(strtoupper($tbl),"SELECT")) {
if ($NeedHead)
{echo "<b>$Tbl</b><table border=1>";
$result=mysql_query("describe $tbl;");
echo "<tr>";
while ($myrow = mysql_fetch_row($result)){
echo "<td>$myrow[0]</td>"; }
echo "</tr>";}
$result=mysql_query("select * from $tbl;"); }
else{ $result=mysql_query($tbl);}
while ($myrow = mysql_fetch_row($result))
{echo "<tr>";for ($i=0; $i<count($myrow); $i++) {
echo "<td>$myrow[$i]</td>"; }echo "</tr>";}
echo "</table><p>";mysql_close();}
function delete_record($tbl,$id)
{$db=$GLOBALS['db'];
$list_f = mysql_list_fields($db, $tbl);
$name_f = mysql_field_name($list_f,0);
$sql = "Delete from $tbl where $name_f = $id";
$result=mysql_query($sql)or die (mysql_error());
$res=mysql_query("select * from $tbl where $name_f in (select min($name_f) from $tbl) ");return mysql_fetch_row($res);}
function GetPickData($sqlActive,$sqlDisable,$field,$name,$selection)
{ echo "<select name=\"$name\" >";
$res=mysql_query($sqlActive);
while ($row = mysql_fetch_row($res))
{if ($selection==$row[0])
{echo "<option selected value=\"$row[0]\">$row[$field]</option>"; }else
echo "<option value=\"$row[0]\">$row[$field]</option>"; }
if ($sqlDisable!=""){
$res=mysql_query($sqlDisable);
while ($row = mysql_fetch_row($res)){
if ($selection==$row[0]) {echo "<option disabled selected value=\"$row[0]\">$row[$field]</option>"; }else
echo "<option disabled value=\"$row[0]\">$row[$field]</option>"; }}
echo "</select>";}
function ComandEnc ($tbl){
if (isset($_REQUEST[insert_data]))
{$Num=insert($tbl);}
if (isset($_REQUEST[view_data])){View($tbl , 1);}
if (isset($_REQUEST[delete_data])){
if (isset($_REQUEST[id])){$v=$_REQUEST[id];
if ($v=="") {$v=0;}}else $v = 0; $Num=delete_record($tbl , $v);}
if (isset($_REQUEST[next])){
if (isset($_REQUEST[id])){$v=$_REQUEST[id];
if ($v=="") {$v=0;}}else $v = 0;$Num=getNext($tbl,$v);}
if (isset($_REQUEST[prev])){
if (isset($_REQUEST[id])){$v=$_REQUEST[id];
if ($v=="") {$v=0;}}else $v = 0;$Num=getPrev($tbl,$v);}
if (isset($_REQUEST[add])){$Num="";}
return $Num;}?>
Add_Numer.php (см. рис 3)
<?include "base.php";
$Num=ComandEnc("Numbers");?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Справочники</title>
<link rel="stylesheet" type="text/css" href="cs.css">
</head><body>
<a href ="index.php">На главную</a>
<table border="1" cellpadding="0" cellspacing="0">
<form action="addnum.php" method="post">
<tr><td colspan="2" align="center"> <strong>Информация по номеру</strong>
<input type="hidden" name="id" value=<? echo($Num[0]) ?>>
</td> </tr>
<tr><td width="150">Номер :</td>
<td><input type="text" name="Numer" maxlength="10" value=<?echo($Num[1])?> ></td></tr>
<tr><td width="150">Класс номера :</td> <td>
<?GetPickData("select * from Num_klass","",1,"Klass",$Num[2]);?></td> </tr>
<tr><td width="150">Этаж :</td>
<td><input type="text" name="stage" maxlength="30" value=<?echo($Num[3])?>></td></tr>
<tr><td width="150">Число мест :</td><td><input type="text" name="places" maxlength="30" value=<? echo($Num[4])?> ></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" name="prev" value="<<<" />
<input type="submit" name="next" value=">>>" />
<input type="submit" name="add" value="Добавить" /></td></tr><tr>
<td colspan="2" align="center">
<input type="submit" name="insert_data" value="Сохранить" />
<input type="submit" name="delete_data" value="Удалить" />
</td> </tr> </form></table>
<table border=1><tr><td>№</td><td>Номер двери</td><td>Класс номера</td>
<td>Этаж</td><td>Колчество мест</td><?View("Numbers" , 0);?>
</body></html>
Klients.php (см. рис 2)
<?include "base.php";$r=ComandEnc("klients");?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /><title>Операции с номерами</title>
<link rel="stylesheet" type="text/css" href="cs.css">
</head><body>
<a href ="index.php">На главную</a>
<form action="klients.php" method="post" name="input_gost">
<table border="1" cellpadding="0" cellspacing="0"><tr>
<td colspan="2" align="center"><strong>Регистрация гостя </strong>
<input type="hidden" name="id" value=<? echo($r[0]) ?>>
</td></tr><tr><td width="150">Фамилия И.О. :</td><td>
<input type="text" name="FIO" maxlength="20" value=<? echo($r[1])?> >
</td></tr><tr><td width="150">Данные документа :</td>
<td><input type="text" name="pasport" maxlength="30" value=<? echo($r[2])?>></td></tr><tr> <td colspan="2" align="center">
<input type="submit" name="prev" value="<<<" />
<input type="submit" name="next" value=">>>" />
<input type="submit" name="add" value="Добавить" />
</td></tr><tr><td colspan="2" align="center">
<input type="submit" name="insert_data" value="Сохранить" />
<input type="submit" name="delete_data" value="Удалить" />
</td> </tr> </table><table border=1><tr><td>№</td><td>Фамилия И.О.</td>
<td>Даные</td> <?View("klients" , 0);?> </form></body></html>
Invoice.php (см. рис 4)
<?include "base.php";
$r=GetRow("select r.data_p,r.data_ot,(r.data_ot-r.data_p)as kol,kl.costday from reestr r
join Numbers n on n.id= r.numer
join num_klass kl on kl.id=r.numer" );?>
<html><head> <title>"Счет на оплату"</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style>
body { width: 210mm; margin-left: auto; margin-right: auto; border: 1px #efefef solid; font-size: 11pt;}
table.invoice_bank_rekv { border-collapse: collapse; border: 1px solid; }
table.invoice_bank_rekv > tbody > tr > td, table.invoice_bank_rekv > tr > td { border: 1px solid; }
table.invoice_items { border: 1px solid; border-collapse: collapse;}
table.invoice_items td, table.invoice_items th { border: 1px solid;}
</style></head><body>
<div style="font-weight: bold; font-size: 16pt; padding-left:5px;">
Счет № <? echo($_GET[id]) ?> от <? echo (date( 'd.m.Y'))?></div>
<br/><table width="100%"> <tr><td style="width: 30mm;">
<div style=" padding-left:2px;">Поставщик: </div></td> <td>
<div style="font-weight:bold; padding-left:2px;"> ____________________________________________</div></td></tr><tr>
<td style="width: 30mm;">
<div style=" padding-left:2px;">Покупатель: </div></td><td>
<div style="font-weight:bold; padding-left:2px;"> _____________________________________________</div></td></tr></table>
<table class="invoice_items" width="100%" cellpadding="2" cellspacing="2">
<thead><tr><th>Дата приезда</th>
<th >Дата отъезда</th>
<th>Количество дней</th>
<th>Цена за день</th>
<th>Сумма</th></tr><tr>
<td style="width:27mm; font-weight:bold; text-align:left;"><?echo($r[0])?></td>
<td style="width:27mm; font-weight:bold; text-align:left;"><?echo($r[1])?></td>
<td style="width:27mm; font-weight:bold; text-lign:right;"><?echo($r[2])?></td>
<td style="width:27mm; font-weight:bold; text-align:right;"><? echo($r[3])?>
</td>
<td style="width:27mm; font-weight:bold; text-align:right;"> <?echo($r[3]*$r[2])?></td></tr></thead><tbody ></tbody></table>
<table border="0" width="100%" cellpadding="1" cellspacing="1"><tr>
</tr></table><br /><div>
Всего на сумму <?echo ($r[3]*$r[2])?> рублей.<br />
<br /><br />
<div style="background-color:#000000; width:100%; font-size:1px; height:2px;"> </div><br/>
<div>Руководитель ______________________ (Фамилия И.О.)</div>
<br/>
<div>Главный бухгалтер ______________________ (Фамилия И.О.)</div><br/>
<div style="width: 85mm;text-align:center;">М.П.</div>
<br/><div style="width:800px;text-align:left;font-size:10pt;">Счет действителен к оплате в течении трех дней.</div></body></html>
Cs.css
body { font: 12px Georgia; color: #666666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 0px auto; background: #E6E6E6; }
td { padding: 3px; }
input { width: 150px; border: solid 1px #CCCCCC; }
table.tbl{width:100%; border:0; background: #ffffff;}
input.small { width: 50px; border: solid 1px #CCCCCC; }
input.smily { width: 10px; border: solid 1px #CCCCCC; }
Список литературы
1. Самоучитель MySQL 5. автор М.Кузнецов
2. Сайт, посвященный СУБД MySQL
3. Разработка на языке PHP
4. Электронная энциклопедия
Размещено на Allbest.ru
Подобные документы
Определение базовых сущностей предметной области. Представление базы данных реляционной моделью. Построение ER-диаграмм. Функции и архитектура информационной системы. Создание таблиц БД на языке SQL Server. Запросы на выборку и манипулирование данными.
курсовая работа [1,8 M], добавлен 06.05.2015Анализ предметной области. Требования, предъявляемые при составлении базы данных гостиницы. Реализация процесса поиска необходимой информации. Формирование таблиц, запросов, отчетов и вывод их на печать. Редактирование, добавление и хранение данных.
курсовая работа [2,0 M], добавлен 07.02.2016Анализ предметной области, концептуальных требований и информационных потребностей к разрабатываемой базе данных студентов. Выбор информационных объектов и проектирование информационной структуры. Создание таблиц, отчетов, запросов на выборку и форм.
курсовая работа [69,4 K], добавлен 18.11.2010Создание таблиц базы данных с помощью MS Access "Страны Азии". Форма базы данных и запросы к выборкам данных. Модификация структуры таблиц, создания связей между главными таблицами, редактирование данных и проектирование форм для реальной базы данных.
контрольная работа [723,9 K], добавлен 25.11.2012Анализ предметной области. Показатели качества БД. Нормативные документы в бизнесе. Проектирование отчетов и экранных форм. Разработка таблиц и полей данных. Создание схемы БД. Реляционная модель данных. Запросы на выборку информации, макросы и модули.
курсовая работа [2,0 M], добавлен 08.04.2014Характеристика предметной области. Макеты входных и выходных документов. Реализация базы данных в среде MS Access: создание структуры таблиц, проектирование форм, запросов, отчётов и создание главной кнопочной формы. Тестирование программного комплекса.
курсовая работа [5,5 M], добавлен 20.05.2015Понятия реляционных баз данных. Структура и создание таблиц. Заполнение базы данных. Запросы на выборку. Запросы с вычисляемыми полями. Создание форм, кнопочной формы, макросов и отчетов. Итоговые и перекрестные запросы. Перечень сущностей и атрибутов.
курсовая работа [1,3 M], добавлен 18.10.2015Системный анализ предметной области. Структурный подход при разработке инфологической модели. Обеспечение целостности данных. Описание программного средства, создание таблиц, запросов, форм и отчетов для системы автоматизации работы ресторана.
курсовая работа [3,9 M], добавлен 12.12.2011Концептуальное проектирование базы данных. Характеристика предметной области. Выходная и входная информация. Выделение информационных объектов. Алгоритмы реализации отчетов и сервисных процедур. Реализация базы данных. Создание структуры таблиц и отчетов.
курсовая работа [2,0 M], добавлен 12.03.2016Концептуальное проектирование базы данных: разработка схемы и структуры таблиц, описание атрибутов. Реализация базы данных в среде СУБД MS SQL Server 2000. Основные принципы создания таблиц. Доступ и обработка данных с помощью утилиты Enterprise Manager.
курсовая работа [3,8 M], добавлен 22.01.2013