版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版混凝土委托加工合同协议书
- 二零二五年度生态环保PPP项目合同风险防控及管理体系3篇
- 二零二五年度房屋抵押权设立与登记合同修订版3篇
- 2024年金融行业保密协议模板版B版
- 2024版餐饮企业食堂供货合同
- 2025年度消防设施维修保养合作协议范本3篇
- 2025届高考地理一轮复习3.1地理环境的差异性练习含解析鲁教版
- 2025届高考数学一轮复习第九章第6讲回归分析与独立性检验基创馈训练含解析
- 2025届高考生物一轮复习第二单元细胞的结构和物质的输入和输出第7讲物质跨膜运输的实例方式课时作业含解析新人教版
- 二零二五年度旅游地产租赁合同主体变更及旅游服务协议3篇
- 《小学生错别字原因及对策研究(论文)》
- 公司组织架构图(可编辑模版)
- 北师大版七年级数学上册教案(全册完整版)教学设计含教学反思
- 智慧水库平台建设方案
- 浙江省公务员考试面试真题答案及解析精选
- 系统性红斑狼疮-第九版内科学
- 全统定额工程量计算规则1994
- 粮食平房仓设计规范
- 《设计专业导论》教学大纲
- 双语阅读:友谊的颜色
- 通用个人全年工资表模板
评论
0/150
提交评论