第一篇:數(shù)據(jù)庫實(shí)驗(yàn)2實(shí)驗(yàn)報(bào)告 2
數(shù)據(jù)庫第二次試驗(yàn)報(bào)告
PB10011020 劉思軼
實(shí)驗(yàn)內(nèi)容
本實(shí)驗(yàn)有兩個(gè)可選題目,旅游出行和藥品免疫庫。本程序即為旅游出行的一個(gè)實(shí)現(xiàn)。
實(shí)驗(yàn)原題摘要如下 數(shù)據(jù)關(guān)系模式:
航班FLIGHTS(String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity);
賓館房間HOTELS(String location, int price, int numRooms, int numAvail); 出租車CARS(String location, int price, int numCars, int numAvail); 客戶CUSTOMERS(String custName);
預(yù)訂情況RESERVATIONS(String resvKey, String custName, int resvType)系統(tǒng)基本功能:
1.航班,出租車,賓館房間和客戶基礎(chǔ)數(shù)據(jù)的入庫,更新(表中的屬性也可以根據(jù)你的需要添加)。
2.預(yù)定航班,出租車,賓館房間。
3.查詢航班,出租車,賓館房間,客戶和預(yù)訂信息。4.查詢某個(gè)客戶的旅行線路。5.檢查預(yù)定線路的完整性。6.其他任意你愿意加上的功能。
程序功能
本系統(tǒng)由旅行服務(wù)提供商運(yùn)營,發(fā)布在支持PHP + MySQL 的服務(wù)器上。系統(tǒng)默認(rèn)有三個(gè)角色,游客、用戶和管理員。它們的權(quán)限如下
1、游客
查詢當(dāng)前航班、旅館和出租車的預(yù)訂情況;
2、注冊用戶
游客的所用權(quán)限; 查詢當(dāng)前預(yù)訂;
預(yù)訂航班、旅館和出租車; 退訂航班、旅館和出租車。打印旅行路線
檢查預(yù)定路線的完整性。檢查航班的完備性
3、管理員
注冊用戶的所用權(quán)限 添加航班、旅館和出租車信息; 更改航班、旅館和出租車信息; 注冊用戶;
更改用戶密碼和權(quán)限; 刪除注冊用戶; 查詢用戶預(yù)訂; 取消用戶預(yù)訂; 查詢用戶旅行線路。
運(yùn)行平臺(tái)
本系統(tǒng)在Windows 7 32位 下由PHP-now虛擬的網(wǎng)絡(luò)運(yùn)行平臺(tái)上測試.所需環(huán)境為: PHP Apache MySQL PhmyAdmin 環(huán)境搭建
打開集成環(huán)境php-now文件夾,點(diǎn)擊init.cmd,會(huì)自動(dòng)安裝所需環(huán)境 接著在PHP后臺(tái)中載入所需要的表
CREATE TABLE FLIGHTS(flightNum varchar(30), price int(6), numSeats int(6), numAvail int(6), FromCity varchar(30), ArivCity varchar(30), PRIMARY KEY(flightNum));CREATE TABLE HOTELS(location varchar(30), price int(6), numRooms int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CARS(location varchar(30), price int(6), numCars int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CUSTOMERS(custName varchar(30), password varchar(50), type varchar(20), PRIMARY KEY(custName));CREATE TABLE RESERVATIONS(resvKey int(20)AUTO_INCREMENT, custName varchar(30), resvType varchar(20), detail varchar(20), PRIMARY KEY(resvKey));
該程序所實(shí)現(xiàn)的功能
1.登錄功能
登陸者身份分為游客和管理員,在數(shù)據(jù)庫中信息都存放在customer表中,區(qū)別為type項(xiàng)不同,管理員為admin,游客為users,決定了權(quán)限不同.(1)普通游客登錄后界面
(2)管理員登陸后界面
2.查詢功能
登入http://127.0.0.1 可以選擇查詢航班,旅館和出租車.3.游客-預(yù)訂功能
4.游客-管理預(yù)訂信息功能
點(diǎn)擊自己的id可進(jìn)入該功能頁面,可以看到自己的旅游路線和預(yù)訂信息,并可以取消預(yù)訂.5.游客-檢查線路完整性功能
當(dāng)游客預(yù)訂了從A到B的機(jī)票,則必須檢查啊在A定了車(去機(jī)場),在B訂了車和旅館(下飛機(jī)后坐車和住宿),以此實(shí)現(xiàn)完整性檢查.在從nanjing to beijing的旅游路線后面點(diǎn)擊check,會(huì)提示游客還需要在nanjing預(yù)訂汽車,在beijing預(yù)定旅館。
6.管理員-管理航班,旅館和出租車表
可以有insert delete 和update 幾種操作.delete:
直接點(diǎn)擊cancel就可刪除相應(yīng)的信息。insert & update: 點(diǎn)擊edit后,程序會(huì)自動(dòng)將想要編輯的行的信息填入供管理員編輯,不用再手動(dòng)輸入。
7.管理員-管理用戶表
可以添加新用戶,對用戶的權(quán)限升級,查看用戶信息.用戶的密碼是md5加密保存的。
實(shí)驗(yàn)小結(jié)
仍然存在的問題: 1.軟件界面過于簡單,僅僅實(shí)現(xiàn)了功能沒有在用戶可用性上多做考慮。
2.新用戶想要登錄該系統(tǒng)預(yù)訂必須要由管理員登入信息后才可操作。缺少了游客注冊的功能。
3.不能根據(jù)用戶的需求點(diǎn)對點(diǎn)得查詢相應(yīng)信息,只能羅列出所有的信息。
實(shí)驗(yàn)心得: 1.在搭建PHP環(huán)境中遇到了許多問題:如用戶權(quán)限不夠,域名已使用使得Apache-20安裝不成功,通過網(wǎng)上查閱資料解決問題。
2.了解到自己對問題的調(diào)研還是不足,如旅游系統(tǒng),各種表之間到底應(yīng)該怎么建立關(guān)系,哪些項(xiàng)是主鍵,自己建的表中的信息是否已經(jīng)充足了,參照現(xiàn)實(shí)中旅游系統(tǒng)才能不斷完善.
第二篇:實(shí)驗(yàn)報(bào)告格式--實(shí)驗(yàn)2
實(shí)驗(yàn)報(bào)告一、二、三、四、五、六、七、實(shí)驗(yàn)名稱:分析PL0詞法分析程序 試驗(yàn)?zāi)康?? 學(xué)習(xí)PL0程序的詞法分析程序GenSym的實(shí)現(xiàn)過程 ? 結(jié)合具體的程序了解詞法分析過程 實(shí)驗(yàn)設(shè)備 ? PC兼容機(jī) ? DOS操作系統(tǒng)或Windows操作系統(tǒng) ? TurboPascal軟件等 實(shí)驗(yàn)要求 ? 獨(dú)立完程序的分析過程 ? 自己跟蹤程序的執(zhí)行過程 ? 記錄程序的執(zhí)行過程 ? 記錄程序的運(yùn)行結(jié)果 實(shí)驗(yàn)內(nèi)容 實(shí)驗(yàn)過程記錄 源程序
第三篇:數(shù)據(jù)庫原理及技術(shù)實(shí)驗(yàn)報(bào)告2
《數(shù)據(jù)庫原理及技術(shù)》實(shí)驗(yàn)報(bào)告
姓名: 莫鴻斌
學(xué)號(hào):201601030137
班級:2016級計(jì)算機(jī)科學(xué)與技術(shù)
實(shí)驗(yàn)日期: 2018-3-16
一、實(shí)驗(yàn)項(xiàng)目
了解SQL Server2012常用組件
二、實(shí)驗(yàn)?zāi)康?/p>
1.掌握SQL Server Management Studio的運(yùn)用; 2.掌握SQL Server 2012常用組件;
3.如何使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫及表。
三、實(shí)驗(yàn)內(nèi)容
1.了解SQL Server2012常用組件;
2.使用SQL Server management studio創(chuàng)建數(shù)據(jù)庫factory,要求將數(shù)據(jù)庫文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自動(dòng)按5MB增長,將事務(wù)日志文件factory_log.LDF存放在E:data目錄下,其文件大小按1MB自動(dòng)增長。3.在數(shù)據(jù)庫factory下創(chuàng)建如下表: 職工表(職工號(hào)(int),姓名(char(10)),性別(char(2)),出生日期(datetime),黨員否(bit),參加工作時(shí)間(datetime),部門號(hào)(int)),其中職工號(hào)作為主鍵。部門表(部門號(hào)(int),部門名(char(10)),其中部門號(hào)作為主鍵。工資表(職工號(hào)(int),發(fā)放年份(int),發(fā)放月份(int),工資(decimal(6,1))),其中職工號(hào)、年份、月份作為主鍵。
4.建立第三步創(chuàng)建的表之間的參照完整性規(guī)則。5.在上述表中輸入數(shù)據(jù),每個(gè)表至少10條記錄。6.備份數(shù)據(jù)庫,考走以備下次試驗(yàn)使用。
四、實(shí)驗(yàn)環(huán)境
安裝有SQL Server2008的PC一臺(tái)。
五、實(shí)驗(yàn)步驟及結(jié)果
1.了解SQL Server2012常用組件;
2.使用SQL Server management studio創(chuàng)建數(shù)據(jù)庫factory;要求將數(shù)據(jù)庫文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自動(dòng)按5MB增長,將事務(wù)日志文件factory_log.LDF存放在E:data目錄下,其文件大小按1MB自動(dòng)增長。
3.在數(shù)據(jù)庫factory下創(chuàng)建如下表: 職工表(職工號(hào)(int),姓名(char(10)),性別(char(2)),出生日期(datetime),黨員否(bit),參加工作時(shí)間(datetime),部門號(hào)(int)),其中職工號(hào)作為主鍵。部門表(部門號(hào)(int),部門名(char(10)),其中部門號(hào)作為主鍵。工資表(職工號(hào)(int),發(fā)放年份(int),發(fā)放月份(int),工資(decimal(6,1))),其中職工號(hào)、年份、月份作為主鍵。
4.建立第三步創(chuàng)建的表之間的參照完整性規(guī)則。
5.在上述表中輸入數(shù)據(jù),每個(gè)表至少10條記錄。
6.備份數(shù)據(jù)庫,考走以備下次試驗(yàn)使用。
六、結(jié)論及思考
第四篇:重慶郵電大學(xué)數(shù)據(jù)庫實(shí)驗(yàn)2
二叉樹操作 實(shí)驗(yàn)日志
指導(dǎo)教師: 黎貴友 實(shí)驗(yàn)時(shí)間: 2010 年 某 月 某 日 學(xué)院 : 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班級: 3110903 學(xué)號(hào) : 2009214458 姓名: 駱瀟龍 實(shí)驗(yàn)室: S331-b 實(shí)驗(yàn)?zāi)康模赫莆斩鏄涞亩x、性質(zhì)及存儲(chǔ)方式,各種遍歷算法。
實(shí)驗(yàn)要求:采用二叉樹鏈表作為存儲(chǔ)結(jié)構(gòu),完成二叉樹的建立,先序、中序和后序以及按層次遍歷的操作,求所有葉子及結(jié)點(diǎn)總數(shù)的操作。
實(shí)驗(yàn)主要步驟:
1、分析、理解程序 #include“stdio.h” #include“string.h” #include“stdlib.h” #include“ctype.h” #define Max 20
//結(jié)點(diǎn)的最大個(gè)數(shù) typedef struct node { char data;
struct node *lchild,*rchild;}BinTNode;
//自定義二叉樹的結(jié)點(diǎn)類型 typedef BinTNode *BinTree;
//定義二叉樹的指針
int NodeNum,leaf;
//NodeNum為結(jié)點(diǎn)數(shù),leaf為葉子數(shù)
//==========基于先序遍歷算法創(chuàng)建二叉樹============== //=====要求輸入先序序列,其中加入虛結(jié)點(diǎn)“#”以示空指針的位置===== BinTree CreatBinTree(void){
BinTree T;
char ch;
if((ch=getchar())=='#')return(NULL);
//讀入#,返回空指針
else {
T=(BinTNode *)malloc(sizeof(BinTNode));
//生成結(jié)點(diǎn)
T->data=ch;
T->lchild=CreatBinTree();
//構(gòu)造左子樹
T->rchild=CreatBinTree();
//構(gòu)造右子樹
{
int hl,hr,max;
if(T){
hl=TreeDepth(T->lchild);
//求左深度
hr=TreeDepth(T->rchild);
//求右深度
max=hl>hr? hl:hr;
//取左右深度的最大值
NodeNum=NodeNum+1;
//求結(jié)點(diǎn)數(shù)
if(hl==0&&hr==0)
leaf=leaf+1;//若左右深度為0,即為葉子。
return(max+1);
} else return(0);}
//====利用“先進(jìn)先出”(FIFO)隊(duì)列,按層次遍歷二叉樹========== void Levelorder(BinTree T){
int front=0,rear=1;
BinTNode *cq[Max],*p;
//定義結(jié)點(diǎn)的指針數(shù)組cq
cq[1]=T;
//根入隊(duì)
while(front!=rear)
{
front=(front+1)%NodeNum;
p=cq[front];
//出隊(duì)
printf(“%c”,p->data);
//出隊(duì),輸出結(jié)點(diǎn)的值
if(p->lchild!=NULL)
{
rear=(rear+1)%NodeNum;
cq[rear]=p->lchild;
//左子樹入隊(duì)
}
if(p->rchild!=NULL)
{
rear=(rear+1)%NodeNum;
cq[rear]=p->rchild;
//右子樹入隊(duì)
} } }
default: exit(1);
}
printf(“n”);} while(i!=0);}
2、調(diào)試程序,設(shè)計(jì)一棵二叉樹,輸入完全二叉樹的先序序列,用#代表虛結(jié)點(diǎn)(空指針),如ABD###CE##F##,建立二叉樹,求出先序、中序和后序以及按層次遍歷序列,求所有葉子及結(jié)點(diǎn)總數(shù).實(shí)驗(yàn)結(jié)果:
1.當(dāng)輸入測試數(shù)據(jù)(輸入完全二叉樹的先序序列,用#代表虛結(jié)點(diǎn),如ABD###CE##F##)時(shí)(如圖1-1),回車運(yùn)行時(shí),結(jié)果如圖1-2所示;
圖1-1
圖1-2
2.按層次遍歷之前,輸入數(shù)字4(如圖2-1,);回車運(yùn)行時(shí),求出測試數(shù)據(jù)的深度、結(jié)點(diǎn)數(shù)及葉子數(shù)分別為3,6,3(如圖2-2);
圖2-1
789-
第五篇:數(shù)據(jù)庫實(shí)驗(yàn)2
山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.24
實(shí)驗(yàn)二 數(shù)據(jù)查詢
一.實(shí)驗(yàn)?zāi)康?/p>
1.理解數(shù)據(jù)庫中數(shù)據(jù)的其他查詢方法和應(yīng)用; 2.學(xué)會(huì)各種查詢要求的實(shí)現(xiàn);
3.學(xué)會(huì)各種查詢的異同及相互之間的轉(zhuǎn)換方法。
二.實(shí)驗(yàn)內(nèi)容
1.實(shí)驗(yàn)代碼
--1.查詢供應(yīng)商號(hào)碼為S1的供應(yīng)商的名稱SNAME,所在城市CITY
Select SNAME,CITY FROM S WHERE SNO='S1';
--2.查詢顏色為紅色的零件號(hào)碼 select pno from p where color='紅';
--3.查詢工程所在地為天津的工程名稱JNAME select jname from j where city='天津';
--4.查詢供應(yīng)商號(hào)和名稱,分別用小寫字母和大寫字母表示供應(yīng)商代碼 select upper(sno)大寫,lower(sno)小寫, sname from s;
--5.查詢零件的詳細(xì)信息,用結(jié)果屬性名用中文顯示
select pno 零件代碼,pname 零件名,color 顏色, weight 重量 from p;
--6.查詢供應(yīng)工程J1零件P1的供應(yīng)商號(hào)SNO select sno from spj where jno='j1' and pno='p1';
--7.查詢供應(yīng)商的名稱和所在城市,并按照所在城市升序排序,同一個(gè)城市的按照供應(yīng)商的名稱降序排序
select sname,city from s order by city ASC,sname DESC;山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.24--8.查詢使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼 select jno from spj where sno='s1';
--9.查詢各種零件的平均重量 select AVG(weight)from p;
--修改貨物表中的P表的weight的數(shù)據(jù)類型 alter table p alter column weight float;
--10.查詢零件的總個(gè)數(shù)
select sum(QTY)零件總和 from spj;
--11.from p where pname like '螺%';
--12.查詢各個(gè)供應(yīng)商供應(yīng)的零件P3總數(shù)量
select sum(qty)from spj where pno='p3';
--13.供應(yīng)工程J1紅色零件的供應(yīng)商號(hào)SNO
select distinct sno from spj, p where p.pno=spj.pno and(jno='j1' and color='紅');
--14.工程項(xiàng)目J2使用的各種零件的名稱及數(shù)量
select distinct pname,qty from p, spj where p.pno=spj.pno and jno='j2';
--15.使用上海產(chǎn)的零件的工程的名稱
select distinct jname from s, j, spj where s.city='上海' and(s.sno=spj.sno and j.jno=spj.jno);查詢所有以“螺”字開頭的零件的零件號(hào)、零件名和顏色
select pno,pname,color 山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.24--16.所有項(xiàng)目的使用零件的情況(無論有沒有使用零件),包括項(xiàng)目代碼、項(xiàng)目名稱、零件代碼和零件數(shù)量
select distinct spj.jno, j.jname, pno, qty from spj, j where spj.jno=j.jno;
--17.供應(yīng)商S1和S3供應(yīng)的相同的零件編號(hào)
select pno from spj where sno='s1' intersect select pno from spj where sno='s3';
--18.沒有使用天津產(chǎn)的零件的工程號(hào)碼
select distinct jno from spj where sno in((select sno from s where city!= '天津'));--19.沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)
select distinct jno from spj where jno not in(select jno from spj,s,p where(s.city='天津' and p.color='紅')and(s.sno=spj.sno and p.pno=spj.pno));
--20.至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號(hào)Jno
select jno from spj where pno='p1' and jno in(select jno
--21.基于學(xué)生選課數(shù)據(jù)庫,驗(yàn)證課本上數(shù)據(jù)查詢相關(guān)的示例
select *
from spj where pno='p2');山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.24 from student;
select sname,'Year of Birth:',2014-sage,lower(sdept)from student;
--查詢至少選修了學(xué)生201215122選修的全部課程的學(xué)生號(hào)碼--不存在這樣的課程y,學(xué)生201215122選修了y,而學(xué)生x沒有選 select distinct sno from sc scx where not exists
(select *
select distinct sno from sc scx where not exists
(select scy.cno
--查詢選修了課程名為“信息系統(tǒng)”的學(xué)生學(xué)號(hào)和姓名 select sno,sname from student where sno in(select sno
from sc where cno in(select cno
from course
where cname='信息系統(tǒng)'));
from sc scy
where scy.sno='201215122' and scy.cno not in(select scz.cno from sc scz
where scz.sno=scx.sno));
from sc scy
where scy.sno='201215122' and not exists(select *
from sc scz where scz.sno=scx.sno and scz.cno=scy.cno));山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.24
運(yùn)行結(jié)果 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.2417、18、21、19、20、1、2、三. 實(shí)驗(yàn)總結(jié)
3、通過本次實(shí)驗(yàn),我了解了理解數(shù)據(jù)庫中數(shù)據(jù)的其他查詢方法和應(yīng)用,學(xué)會(huì)各種查詢要求的實(shí)現(xiàn),學(xué)會(huì)各種查詢的異同及相互之間的轉(zhuǎn)換方法。在實(shí)驗(yàn)過山東建筑大學(xué) 計(jì)算機(jī)學(xué)院 實(shí)驗(yàn)報(bào)告
班級: 姓名: 學(xué)號(hào): 實(shí)驗(yàn)成績:
課程:數(shù)據(jù)庫系統(tǒng)概論 同組者: 實(shí)驗(yàn)日期: 2018.04.24 程中,有的看不懂題意,通過詢問同學(xué)解決了,也有的不會(huì)做,答案也看不懂,最后詢問老師,然后自己認(rèn)真看看,最后解決問題了。