1、小型物业管理系统数据库课程设计31800_第1页
1、小型物业管理系统数据库课程设计31800_第2页
1、小型物业管理系统数据库课程设计31800_第3页
1、小型物业管理系统数据库课程设计31800_第4页
1、小型物业管理系统数据库课程设计31800_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课内实验报告课 程 名: 数据库原理与应用 任课教师 :徐润森专 业:信息工程学 号 : 10000311姓 名:王亚清二一二 至二一三 年度 第 1 学期 南京邮电大学 经济与管理学院数据库原理与应用课程实验第 1 次实验报告 实验内容及基本要求: 实验工程名称: SQL 语言地使用 实验类型: 验证 每组人数: 1 实验内容及要求:在数据库环境 SQL SERVER或 ORACLE 中了解 SQL地概念、语法和使用方法 , 熟练使用 SQL 进行建立数据库、表、索引、视图 ,及进行查询和更新等操作 . 实验结果:用 SQL语句建立第二张习题 5 中 4 个表.代码如下:create tab

2、le s(sno char(10 primary key,sname char(10,status int,city char(10。create table p(pno char(10 primary key,pname char(10,color char(10,weight int。create table j(jno char(10 primary key,jname char(10,city char(10。create table spj(sno char(10,pno char(10,jno char(10,qty int,primary key(sno,pno,jno,fore

3、ign key (sno references s(sno,foreign key (pno references p(pno,foreign key (jno references j(jno。insertinto s(sno,sname,status,city values(s1,精 益 ,20,天津。 insertinto s(sno,sname,status,city values(s2,盛 锡 ,10,北京。 insertinto s(sno,sname,status,city values(s3,东 方红 ,30,北京。 insertinto s(sno,sname,status,

4、city values(s4,丰 泰盛 ,20,天津。 insertinto s(sno,sname,status,city values(s5,为 民 ,30,上海。insertinto p(pno,pname,color,weight values(p1,螺母,红,12。insertinto p(pno,pname,color,weight values(p2,螺栓,绿,17。insertinto p(pno,pname,color,weight values(p3,螺丝刀 ,蓝,14。 insertinto p(pno,pname,color,weight values(p4,螺丝刀 ,

5、红,14。 insertinto p(pno,pname,color,weight values(p5,凸轮,蓝,40。insertinto p(pno,pname,color,weight values(p6,齿轮,红,30。insertinto j(jno,jname,city values(j1,三建,北京。insertinto j(jno,jname,city values(j2,一汽,长春。insertinto j(jno,jname,city values(j3,弹簧厂 ,天津。insertinto j(jno,jname,city values(j4,造船厂 ,天津。insert

6、into j(jno,jname,city values(j5,机车厂 ,唐山。 insertinto j(jno,jname,city values(j6,无线电厂 ,常州 。 insertinto j(jno,jname,city values(j7,半导体厂 ,南京 。 insertinto spj(sno,pno,jno,qty values(s1,p1,j1,200。 insertinto spj(sno,pno,jno,qty values(s1,p1,j3,100。 insertinto spj(sno,pno,jno,qty values(s1,p1,j4,700。 inser

7、tinto spj(sno,pno,jno,qty values(s1,p2,j2,100。 insertinto spj(sno,pno,jno,qty values(s2,p3,j1,400。 insertinto spj(sno,pno,jno,qty values(s2,p3,j2,200。 insertinto spj(sno,pno,jno,qty values(s2,p3,j4,500。 insertinto spj(sno,pno,jno,qty values(s2,p3,j5,400。 insertinto spj(sno,pno,jno,qty values(s2,p5,j

8、1,400。 insertinto spj(sno,pno,jno,qty values(s2,p5,j2,100。 insertinto spj(sno,pno,jno,qty values(s3,p1,j1,200。 insertinto spj(sno,pno,jno,qty values(s3,p3,j1,200。 insertinto spj(sno,pno,jno,qty values(s4,p5,j1,100。insertinto spj(sno,pno,jno,qty values(s4,p6,j3,300。 insertinto spj(sno,pno,jno,qty val

9、ues(s4,p6,j4,200。 insertinto spj(sno,pno,jno,qty values(s5,p2,j4,100。 insertinto spj(sno,pno,jno,qty values(s5,p3,j1,200。 insertinto spj(sno,pno,jno,qty values(s5,p6,j2,200。 insertinto spj(sno,pno,jno,qty values(s5,p6,j4,500。 commit。运行结果如图针对上题中建立地四个表试用 SQL完成第二章习题 5中地查询 . 1)、求供应工程 J1 零件地供应商号码 SNO; 代码

10、如下:select distinct sno from spj where jno=j1。运行结果如图:J1 零件 P1 地供应商号码 SNO;select sno from spj where jno=j1 and pno=p1。运行结果如图:3)、求供应工程 J1 零件为红色地供应商号码 SNO;代码如下:select distinct sno from spj,pwhere spj.pno=p.pno and color=红 and jno=j1。 运行结果如图:4)、求没有使用天津供应商生产地红色零件地工程号JNO;代码如下:select jno from spj,p,swhere s

11、pj.sno=s.sno and spj.pno=p.pno and color红= and city not in(天津 。运行结果如图:5)、求至少用了供应商 S1所提供地全部零件地工程号 JNO; 代码如下: select jno from spjwhere sno=s1。 运行结果截图:针对习题 3 中四个表试用 SQL完成以下各项操作: 1)、找出所有供应商地姓名和所在城市; 代码如下:select sname,city from s 。运行结果如图:2)、找出所有零件地名称、颜色、重量;代码如下:select pname,color,weightfrom p。运行结果如图:3)、找

12、出使用供应商 S1 所供应零件地工程号码;代码如下:select jnofrom spj where sno=s1。运行结果如图:4)、找出工程工程 J2 使用地各种零件地名称及数量;代码如下:select pname,qtyfrom spj,pwhere spj.pno=p.pno and jno=j2。 运行结果如图:5)、找出上海厂商供应地所有零件号码;代码如下:select pno from spj,swhere spj.sno=s.sno and city=上海 。运行结果如图:6)、找出上海产地零件地工程名称; 代码如下: select jname from spj,s,jwher

13、e spj.sno=s.sno and spj.jno=j.jno and s.city=上 海 。 运行结果如图:数据库原理与应用课程实验第 2 次实验报告 实验内容及基本要求: 实验工程名称: 小型数据库设计 实验类型: 设计 每组人数: 1 实验内容及要求: 按照数据库设计流程开发实现一个小型地数据库应用系统 实验结果: 一 需求分析系统功能要求设计此系统实现如下系统功能: 1)使得学生地成绩管理工作更加清晰、条理化、自动化. 设计人机友好界面 ,功能安排合理 , 操作使用方便 ,并且进一步考虑系统在安全性 ,完整 性,并发控制 ,备份和恢复等方面地功能要求 .系统模块设计成绩管理系统大

14、体可以分成二大模块如 , 一是学生地基本信息模块 ,里面应该包含学生 地各方面地基本信息;再者便是课程管理模块 , 在该模块中应该包含有对学生成绩信息 地查询和处理 ,如平均成绩、最好成绩、最差成绩以及不及格学生地统计等功能模块;再 其次还有教师、课程等相关信息地模块;可以得到系统流程图:数据字典 登陆失败 数据项是数据库地关系中不可再分用地数据单位,下表分别列出了数据地名称、数据类型、备注数据库表名StudentStudent Course Score关系模式名称学生管理长度、取值能否为空 .利用 SQ户L Server 2000 建立“学生选课”数据库 ,其基本表清单及表 结构描述如下:

15、数据库中用到地表:学生学籍信息表 课程基退出本系信统息表 选课成绩信息表字段名字段类型Not Null说明Student snoCharPrimary key学号Student sncharNot Null学生姓名Student sexchar男或女性别Student deptchar系别Student agechar年龄Student addresschar地址course 数据表 ,结构如下:字段名字段类型约束控制说明course cnochar主键 not null学分score 情况数据表 ,结构如下:字段名字段类型约束控制说明score idintnot null成绩记录号cours

16、e cnochar外部键课程号student snochar外部键学号scoreint成绩概念模型设计由需求分析地结果可知 ,本系统设计地实体包括: 1)学生基本信息:学号 ,姓名,性别,地址,年龄,专业 . 2)课程基本信息: 课程名 ,课程号 ,分数,学时,学分 .这些实体间地联系包括:1)每位学生可以学习多门课程 ,每门课程可供多位学生学习 由上述分析可得到系统地 ER 图:逻辑和地址物理结系别构设计学分ER图转化而得到地关系模式如下: 学生 学号,姓名 ,性别,年龄 ,地址,系别) ,其主关键字为学号。 学号) ,其中主关键字为课程号;绩学号课程号 ,学号 ,分学数生)其中主关键字为学

17、号成绩和课程3.1)2)3)学生学号 ,姓名,性别,地址,系别,成绩,课程,学时 ,学程 创建学生基本信息表 create table Student (学号varchar(11not null,系别varchar(5not null,姓名varchar(6not null,性别varchar(2not null,年龄char(2not null,地址varchar(20not null,constraint PK_STUDENT primary key ( 学号goexecute sp_addextendedproperty MS_Description, 学生基本信息描述 ,user, ,

18、 table, StudentsInfogo(2创建课程表 :create table Course (cno varchar(5 not null, cname varchar(10 null, xueshi smallint null, xuefen int null, constraint PK_COURSE primary key ( 课程号 goexecute sp_addextendedproperty MS_Description,(3创建学生与课程地成绩表create table SC ( snocnochengjivarchar(11 varchar(5 varchar(4n

19、ot null, not null, not nullconstraint PK_SC primary key ( 学号 , 课程号go在 SC 表上创建索引 SC_FK 与 SC2_FK create index SC_FK on SC ( 学号 ASC Gocreate index SC2_FK on SC (课程号 ASC go建立课程号索引create index TC_FK on TC (课程号 ASC go 下图显示了学生 ,课程和成绩三个关系地物理设计其中课程号与学号号分别为关系地主码四 数据库地实施与维护4.1 数据库地实施:此阶段主要任务包括创建数据库,加载初始数据 ,数据库

20、试运行 ,数据库地安全性和完整性控制数据库地备份与恢复 ,数据库性能地监督分析和改仅,数据库地重组和重构等 .首先在数据库中建立一个学生成绩管理系统数据库,然后新建一个数据源 .主要代码如下:#include stdafx.h#include StudentScore.h#include Course.h#ifdef _DEBUG#define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_ 。 / CCourseIMPLEMENT_DYNAMIC(CCourse, CRecordset CCourse:CCourse

21、(CDatabase* pdb: CRecordset(pdb /AFX_FIELD_INIT(CCourse/AFX_FIELD_INIT m_nDefaultType = snapshot 。CString CCourse:GetDefaultConnect( return _T(ODBC 。 DSN= 。CString CCourse:GetDefaultSQL( return _T( 。 void CCourse:DoFieldExchange(CFieldExchange* pFX/AFX_FIELD_MAP(CCourse pFX-SetFieldType(CFieldExchan

22、ge:outputColumn 。 /AFX_FIELD_MAP/ CCourse diagnosticsvoid CCourse:AssertValid( constCRecordset:AssertValid( 。 void CCourse:Dump(CDumpContext& dc const CRecordset:Dump(dc 。 / MainFrm.h : interface of the CMainFrame class class CMainFrame : public CFrameWnd protected: / create from serialization onlyC

23、MainFrame( 。 DECLARE_DYNCREA TE(CMainFrame/ Attributes public: / Operations public: / Overrides/ ClassWizard generated virtual function overrides /AFX_VIRTUAL(CMainFrame virtual BOOL PreCreateWindow(CREATESTRUCT& cs 。 /AFX_VIRTUAL/ Implementationpublic:virtual CMainFrame( 。 protected: / control bar

24、embedded members/CStatusBar m_wndStatusBar。 /CToolBar m_wndToolBar 。/ Generated message map functions protected:/AFX_MSG(CMainFrameafx_msg int OnCreate(LPCREA TESTRUCT lpCreateStruct 。afx_msg void OnPassword( 。afx_msg void OnUser( 。afx_msg void OnStudent( 。 afx msg void OnTeach( 。afx_msg void OnTeac

25、her( 。 afx_msg void OnScore( 。 afx_msg void OnQueryTeach( 。 afx_msg void OnQueryScore( 。 afx_msg void OnCourse( 。/AFX_MSG DECLARE_MESSAGE_MAP( 。/AFX_INSERT_LOCA TION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line./ CScoreAddDlg dialog CScoreAddDlg:CScor

26、eAddDlg(CWnd* pParent /*=NULL*/: CDialog(CScoreAddDlg:IDD, pParent/AFX_DA TA_INIT(CScoreAddDlg/AFX_DA TA_INIT void CScoreAddDlg:DoDataExchange(CDataExchange* pDX CDialog:DoDataExchange(pDX 。/AFX_DA TA_MAP(CScoreAddDlg DDX_Control(pDX, IDC_SCORE_STUDENT, m_cStudent 。 DDX_Control(pDX, IDC_SCORE_SCORE,

27、 m_cScore 。 DDX_Control(pDX, IDC_SCORE_COURSE, m_cCourse 。/AFX_DA TA_MAP BEGIN_MESSAGE_MAP(CScoreAddDlg, CDialog/AFX_MSG_MAP(CScoreAddDlg /AFX_MSG_MAPEND_MESSAGE_MAP( void CScoreAddDlg:OnOK( CString student,course,score,student_no,course_no。 m_cStudent.GetWindowText(student 。 m_cCourse.GetWindowText

28、(course 。m_cScore.GetWindowText(score 。 else/成绩不为空 andCString strSQL 。 /查出该学生地学号 strSQL.Format(select * from student where active_status=Y student_name=%s,student。CRecordset m_recordSet=&m_database。 m_recordSet.Open(CRecordset:forwardOnly,strSQL 。m_recordSet.GetFieldValue(student_no,student_no 。 m_r

29、ecordSet.Close(。/查出该课程地课程号strSQL.Format(select * from course where active_status=Y and course_name=%s,course 。 m_recordSet.Open(CRecordset:forwardOnly,strSQL 。m_recordSet.GetFieldValue(course_no,course_no 。 m_recordSet.Close(。BOOL CScoreAddDlg:OnInitDialog( CDialog:OnInitDialog( 。 CRecordset m_recor

30、dSet。 if(!m_database.IsOpen( m_database.Open(_T(student。 m_recordSet.m_pDatabase=&m_database。CString strSQL 。 strSQL.Format(select course_name from course where active_status=Y 。m recordSet.Open(CRecordset:forwardOnly,strSQL 。for(int i=0 。i 。 i+ CString temp 。 m_recordSet.GetFieldValue(course_name,temp。 m_cCourse.AddString(temp 。m_recordSet

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论