1305120610,数据库实验一

合集下载

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。

本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。

1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。

数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。

数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。

2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。

(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。

(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。

(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。

(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。

3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。

SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。

SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。

(2) 表名:指定创建的表格的名称。

(3) 列名和数据类型:指定表格中的各列名称和数据类型。

(4) 主键:指定表格中的主键。

(5) 外键:指定表格中的外键。

4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。

数据库实验1报告

数据库实验1报告

一.实验目的本实验要求学生掌握数据库技术的基本技术,熟悉数据库设计的每个步骤中的人物和实施方法,并加深对数据库系统概念和特点的理解,使学生熟悉数据库需求分析的整体过程,熟悉数据库需求分析的文档格式,并掌握数据库需求分析的方法。

二.实验软件环境PC机,SQL Server Management Studio,SQL Server 2000查询分析器三.实验内容通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

(1)初始阶段:从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集原材料,制定约束和规范。

收集原材料是这阶段的重点。

通过调查和观察结果、业务流程、原有系统的输入输出、各种报表、收集原始数据,形成基本数据资料表。

(2)定义实体:实体集成员都有一个共同的特征和属性集,可以从收集的原材料中直接或间接标识出大部分实体。

根据原材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。

(3)定义联系:定义实体之间的联系类型。

(4)定义码:定义各个实体的主、外码等约束。

四.实验的结果及分析1用户需求用户需求分析是否准确反映了用户的实际要求,将直接影响到后面各个阶段的设计,并将影响到设计结果是否合理和实用。

设计人员必需不断深入地与用户交流,才能逐步确定实际需求。

1.1.系统现状,系统现状的主要功能有:(1)读者种类的定义、更新、查询主要实现读者种类标准的制定,如:种类编号、种类名称、借书数量、借书期限、有效期限、备注等。

(2)读者基本信息的输入、查询、更新包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、登记日期、备注等。

(3)书籍类别的定义、更新、查询主要实现书籍类别标准的制定,如:类别编号、类别名称、关键词、备注信息等。

数据库实验实验1(学号姓名)

数据库实验实验1(学号姓名)
××××学院实验报告
系别
班级
学号
姓名
课程名称
数据库原理
实验日期
实验名称
实验1数据库、表的创建与表操作语句练习
成绩
实验目的:
1.认识SQL Server 2008,熟悉SQL Server Configuration Manager、SQL Server Management Studio、联机丛书的界面及操作。
);
/*将“PASCAL语言”的先行课改为Null;*/
update Course
set Cpno=NULL
where Cname='PASCAL语言' ;
/*分析如下update语句为什么不能正确执行,修改它,使其能够执行*/
update Course
set cno=null
where Cname='数学'
SELECT * /*查询student、course和sc表的全部记录*/
FROM Student;
SELECT *
FROM SC;
UPDATE SC /*将“200215122”的“3”号课成绩改为100;*/
SET Grade=100
WHERE Sno='201215122'and Cno='3';
('3','信息系统','1',4);
INSERT
INTO SC(Sno,Cno,Grade)
VALUES
('201215121','1',92),
('201215121','2',85),

数据库技术与应用实验

数据库技术与应用实验

数据库技术与应用实验实验一数据库的基本操作实验目的:实验内容:1.创建数据库了解SQL Server的系统数据库包含的四个数据库;熟练掌握使用SQL Server 管理控制台创建数据库;熟练掌握使用T-SQL语句创建数据库;了解如何查看数据库属性;熟练掌握使用SQL Server 管理控制台和T-SQL语句来修改数据库容量、更改数据库名称、删除数据库、分离数据库、附加数据库。

实验二表的基本操作实验目的:实验内容:1.定义基本表和结构按照下图分别使用SQL Server 管理控制台和T-SQL语句来创建四张表:系部表、专业表、班级表、学生表;修改学生表,增加一个家庭住址列;更改列的数据类型:把学生表中的姓名列加宽到10位字符宽度;删除学生表中的专业代码的约束;重命名表:将学生表的名字更改为STUDENT;(再改回来)重命名列:将班级表的备注更改为其它;添加一个新列;删除一个列;删除一个表;(删除后不可恢复)删除表的所有数据;创建主键约束;创建外建约束;实验三数据的基本操作实验目的:实验内容:1.数据的添加.删除.修改在上面四张表中分别插入几条记录;设置条件修改表中的各项记录;为学生表添加年龄项,分别输入各位学生的年龄;修改年龄为18岁的学生年龄为20;修改所有学生的入学时间、班级代码等;设置条件删除表中的无用记录;2.数据的简单查询查询学生的全部信息。

查询全体学生的学号、姓名和年龄。

查询系部代码为“01”的学生号、姓名、年龄。

查询年龄高于18的学生的学号、姓名和性别。

查询选修C1或C2课程且分数大于等于85分学生的的学号、课程号和成绩。

(需先为学生表添加选修课程、课程号和成绩)查询选修C1课程并且成绩在80至90之间的学生的学号、姓名及年龄。

查询选修C1或C2的学生的学号、课程号和成绩。

查询没有选修C1,也没有选修C2的学生的学号、课程号和成绩。

查询所有姓张的学生的学号和姓名。

查询姓名中第二个汉字是“力”的学号和姓名。

数据库原理实验一

数据库原理实验一

-- TNO CHAR(3)PRIMARY KEY,-- CREAIT INT,--);(3)创建学生选课表SC,由以下属性组成:学号SNO( char型,长度为4,主码),课程号CNO( char型,长度为2,主码),成绩GRADE(int型)。

-- CREATE TABLE SC-- (-- SNO CHAR(4),-- CNO CHAR(2),-- GRADE INT,-- PRIMARY KEY (SNO,CNO),-- );(4)创建教师表Teacher,由以下属性组成:教师编号TNO(char型,长度为3,主码),教师姓名TNAME(char型,长度为8,非空),所在系DEPTNO(char 型,长度为2)-- CREATE TABLE Teacher-- (-- TNO CHAR(3)PRIMARY KEY,-- TNAME CHAR(8)NOT NULL,-- DEPTNO CHAR(2)-- )(5)创建系表Dept,由以下属性组成:系号DEPTNO(char型,长度为2,主码),系名DNAME(char型,长度为20,非空)。

CREATE TABLE Dept(DEPTNO CHAR(2)PRIMARY KEY,DNAME CHAR(20)NOT NULL,)2.修改基本表在student表中加入属性AGE(int型);ALTER TABLE StudentADD AGE INT;3.删除基本表后边所有操作结束后,删除所创建的基本表;DROP TABLE Student;DROP TABLE Course;DROP TABLE SC;DROP TABLE DEPT;DROP TABLE TEACHER;(二)索引操作1.建立索引(1)在Student表上建立关于属性SNO的唯一索引;CREATE UNIQUE INDEX Stusno ON Student(Sno);(2)在Course表上建立关于CNO的唯一索引;create unique index Coucno ON Course(Cno);2.删除索引删除上面所建立的两个索引;-drop index Student.stusno--drop index Course.Coucno;(三)视图操作1.建立视图在插入数据的Student基本表上为计算机系学生的记录建立一个视图CS_STUDENT。

数据库实验报告(实验一)

数据库实验报告(实验一)

实验一PowerDesigner 的CDM 应用
一、实验内容
学会运行PowerDesigner创建实体联系图,熟悉PowerDesinger的CDM模块的使用,熟悉CDM 的工作区,使用工具选项板进行CDM对象设计。

启动PowerDesigner,并按照试验步骤创建实体,运用toolbox中的相关工具修改实体的属性。

在定义完之后,运用toolbox中的相关工具接下来创建实体间的关系。

例如,此时创建的student与选课之间的联系如下
紧接着,按照相同方式创建course和选课之间的关系,如下。

根据实验任务,建立一个“实验一练习”命名的Conceptual Data Model(CDM)文件,其中应包括的实体、实体的属性及实体之间的联系。

利用之前的练习,类似的创建好该联系,其过程中截图如下:
1.对相关实体属性的修改如下:
2.最后的结果图如下:
二、遇到的问题及解决
在做实验任务时,由于对PowerDesigner软件运用的不熟悉,在过程中遗忘了一些步骤。

例如,在设置属性时,忘了设置主属性;在创建实体间联系时,对其中关系不是很清楚的找出它们的关系。

在发现这些问题后,都及时的解决,才未对后面的实验造成影响。

三、心得体会
我对于PowerDesigner还不熟悉,要多找几道练习题实际操作一下,多熟悉软件才可以运
行的很好。

在这之前我应该多注意书本上的知识,也要多熟悉,然后才能在实验课中运用。

《数据库系统原理及应用》实验报告 实验一 数据库定义 -回复

《数据库系统原理及应用》实验报告 实验一 数据库定义 -回复

《数据库系统原理及应用》实验报告实验一数据库定义-回复数据库系统原理及应用实验一数据库定义数据库是用来存储和管理数据的系统。

在现代信息化时代,数据的规模不断增大,因此需要数据库来对数据进行高效的组织、存储和管理。

本实验通过使用SQL语言创建数据库表,学习了数据库的定义过程。

在数据库系统中,最基本的单位是表。

表由行和列组成,每一行代表一个记录,每一列代表一个字段。

首先,我们需要使用SQL语言定义表的结构,包括表的名字、字段名以及每个字段的数据类型等信息。

在这个实验中,我们以中括号内的内容为主题,详细介绍了如何使用SQL 语言定义一个简单的数据库表。

1. 创建数据库及表的设计首先,我们需要创建一个数据库,用于存放表及相关数据。

在SQL中,可以使用CREATE DATABASE语句来创建数据库。

然后,我们设计表的结构,包括表名、字段名、数据类型等。

在这个实验中,我们以[学生信息管理]为主题来设计一个学生信息表。

2. 创建数据库表在SQL中,使用CREATE TABLE语句可以创建表。

语句的基本格式如下:CREATE TABLE table_name (column1 datatype constraint,column2 datatype constraint,...);根据我们的设计,我们可以创建一个名为[Student]的表,包含学生的学号、姓名、性别和年龄等字段。

表的创建语句如下:CREATE TABLE Student (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,gender VARCHAR(10) NOT NULL,age INT);其中,id是主键,name和gender是必填字段,age是可选字段。

3. 插入数据在表创建完成后,我们可以使用INSERT INTO语句将数据插入到表中。

语句的基本格式如下:INSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);根据我们的设计,我们可以插入一些学生的信息。

实验一 数据库设计

实验一  数据库设计

实验一数据库设计实验名称:数据库设计实验内容:以所在学校选课和课程管理为实际应用背景,设计一个教学管理数据库。

假设至少包含以下需求:学生信息管理;课程信息管理;教师信息管理;学生选修课程及成绩信息管理;教师负责课程和讲授课程信息管理。

实验目的:通过实践,掌握本章介绍的数据库设计方法。

学会使用PowerDesigner来完成数据库设计过程。

实验方法(或程序源代码):(1)、根据实验内容明确要完成的系统功能。

(2)、运行PowerDesigner创建概念数据模型转换成逻辑数据模型,建立实体、属性和联系。

对关键字、空值、域完整性等做出必要的描述,根据实际情况确定联系的类型。

(3)、将检查无误的概念数据类型转换成逻辑数据模型,并对生成的逻辑数据模型作必要的修改。

(4)、选择一个实际的DBMS软件根据逻辑数据模型生成物理数据模型,并对生成的物理数据模型作必要的修改。

实验数据、结果分析、总结问题:(1)学生选课系统扥E-R图(2)概念数据模型图如下(3)逻辑数据模型图如下(4)物理数据模型图如下(5)系统生成的代码为:if exists(select 1 from sys.sysforeignkey where role='FK_教授课程_RELATIONS_学生') thenalter table 教授课程delete foreign key FK_教授课程_RELATIONS_学生end if;if exists(select 1 from sys.sysforeignkey where role='FK_教授课程_RELATIONS_教师') thenalter table 教授课程delete foreign key FK_教授课程_RELATIONS_教师end if;if exists(select 1 from sys.sysforeignkey where role='FK_负责课程_RELATIONS_课程') thenalter table 负责课程delete foreign key FK_负责课程_RELATIONS_课程end if;if exists(select 1 from sys.sysforeignkey where role='FK_负责课程_RELATIONS_教师') thenalter table 负责课程delete foreign key FK_负责课程_RELATIONS_教师if exists(select 1 from sys.sysforeignkey where role='FK_选修课程_RELATIONS_学生') thenalter table 选修课程delete foreign key FK_选修课程_RELATIONS_学生end if;if exists(select 1 from sys.sysforeignkey where role='FK_选修课程_RELATIONS_课程') thenalter table 选修课程delete foreign key FK_选修课程_RELATIONS_课程end if;if exists(select 1 from sys.systablewhere table_name='学生'and table_type in ('BASE', 'GBL TEMP')) thendrop table 学生end if;if exists(select 1 from sys.systablewhere table_name='教师'and table_type in ('BASE', 'GBL TEMP')) thendrop table 教师end if;if exists(select 1 from sys.systablewhere table_name='教授课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 教授课程end if;if exists(select 1 from sys.systablewhere table_name='课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 课程if exists(select 1 from sys.systablewhere table_name='负责课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 负责课程end if;if exists(select 1 from sys.systablewhere table_name='选修课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 选修课程end if;create table 学生(学号 char(8) not null, 院系 smallint null,姓名 char(10) null,性别 char(2) null,生源 char(6) null,状态 char(4) null,constraint PK_学生 primary key (学号));create table 教师(教师编号 char(8) not null, 院系 smallint null,姓名 char(10) null,性别 char(2) null,职称 char(6) null,专业 char(10) null,constraint PK_教师 primary key (教师编号));create table 教授课程(教师编号 char(8) not null, 学号 char(8) not null,constraint PK_教授课程 primary key (教师编号, 学号));create table 课程(课程编号 char(8) not null, 课程名称 char(20) null,责任教师 char(8) null,学时 smallint null,课程性质 char(10) null,constraint PK_课程 primary key (课程编号));create table 负责课程(教师编号 char(8) not null, 课程编号 char(8) not null, constraint PK_负责课程 primary key (教师编号, 课程编号));create table 选修课程(课程编号 char(8) not null, 学号 char(8) not null, 成绩 smallint null,constraint PK_选修课程 primary key (课程编号, 学号));alter table 教授课程add constraint FK_教授课程_RELATIONS_学生 foreign key (学号)references 学生 (学号)on update restricton delete restrict;alter table 教授课程add constraint FK_教授课程_RELATIONS_教师 foreign key (教师编号) references 教师 (教师编号)on update restricton delete restrict;alter table 负责课程add constraint FK_负责课程_RELATIONS_课程 foreign key (课程编号) references 课程 (课程编号)on update restricton delete restrict;alter table 负责课程add constraint FK_负责课程_RELATIONS_教师 foreign key (教师编号) references 教师 (教师编号)on update restricton delete restrict;alter table 选修课程add constraint FK_选修课程_RELATIONS_学生 foreign key (学号)references 学生 (学号)on update restricton delete restrict;alter table 选修课程add constraint FK_选修课程_RELATIONS_课程 foreign key (课程编号) references 课程 (课程编号)on update restricton delete restrict;实验数据、结果分析、总结问题:运用PowerDesigner程序添加实体,并建立实体之间的联系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉工程大学计算机科学与工程学院《数据库系统概论》实验报告二、利用来实现与SQL Server数据交互利用实现信息的增删改查。

(1)插入功能private void btnInsert_Click(object sender, EventArgs e)imgBytes = File.ReadAllBytes(dropFileName);cmd.Parameters.AddRange(new SqlParameter[] {new SqlParameter("@sno",txtID.Text),new SqlParameter("@sname",txtName.Text),new SqlParameter("@sgender",sGender),new SqlParameter("@sbirth",dpBirth.Value),new SqlParameter("@sdept",cbDept.SelectedValue),new SqlParameter("@simage",imgBytes),newSqlParameter("@sIDNum",txtIDCardNums.Text),new SqlParameter("@sEmail",txtEmail.Text) });cmd.ExecuteNonQuery();MessageBox.Show("插入学生信息成功!", "提示信息",MessageBoxButtons.OK, rmation);}catch (Exception ex){MessageBox.Show(ex.Message);}finally{if (con != null && con.State == ConnectionState.Open){con.Close();}}}(2)修改功能private void btnUpdate_Click(object sender, EventArgs e){SqlConnection con = new SqlConnection(conStr);try{con.Open();SqlCommand cmd = new SqlCommand();cmd.Connection = con;mandText = "update t_student setsname=@sname,sgender=@sgender,sbirth=@sbirth,sdept=@sdept,simage=@simage,sIDNum=@sI DNum,sEmail=@sEmail where sno=@sno";String sGender = cbGender.SelectedIndex == 0 ? "男" : "女";if (isDrop)imgBytes = File.ReadAllBytes(dropFileName);cmd.Parameters.AddRange(new SqlParameter[] {new SqlParameter("@sno",txtID.Text),new SqlParameter("@sname",txtName.Text),new SqlParameter("@sgender",sGender),new SqlParameter("@sbirth",dpBirth.Value),newSqlParameter("@sdept",cbDept.SelectedValue),new SqlParameter("@simage",imgBytes),newSqlParameter("@sIDNum",txtIDCardNums.Text),new SqlParameter("@sEmail",txtEmail.Text) });cmd.ExecuteNonQuery();MessageBox.Show("更新学生信息成功!", "提示信息", MessageBoxButtons.OK, rmation);}catch (Exception ex){MessageBox.Show(ex.Message);}finally{if (con != null && con.State == ConnectionState.Open){con.Close();}}}(3)删除功能private void btnDelete_Click(object sender, EventArgs e){SqlConnection con = new SqlConnection(conStr);SqlTransaction trans = null;try{con.Open();trans = con.BeginTransaction();SqlCommand cmd = new SqlCommand();cmd.Connection = con;cmd.Transaction = trans;mandText = "delete t_sc where sno=@sno;delete t_student where sno=@sno";cmd.Parameters.AddWithValue("@sno",txtID.Text);cmd.ExecuteNonQuery();mit();MessageBox.Show("删除学生信息成功!", "提示信息", MessageBoxButtons.OK, rmation);QueryStd("200215122");}catch (Exception ex){MessageBox.Show(ex.Message);if(trans != null)trans.Rollback();}finally{if (con != null && con.State == ConnectionState.Open){con.Close();}}}(4)查找功能private void btnBrowse_Click(object sender, EventArgs e){Stream myStream;if (ofdStd.ShowDialog() == DialogResult.OK){myStream = ofdStd.OpenFile();pbImage.Image = Bitmap.FromStream(myStream);imgBytes = new byte[myStream.Length];myStream.Seek(0, SeekOrigin.Begin);myStream.Read(imgBytes, 0, (int)myStream.Length);isDrop = false;}}三、DataSet技术四、Entity FrameWork技术(1)插入功能块private void btnInsert_Click(object sender, EventArgs e){using (StdMng2015NEntities se = new StdMng2015NEntities()) {try{t_Student std = new t_Student();std.sno = txtID.Text;std.sname = txtName.Text;std.SGender = cbGender.SelectedItem.ToString();std.Sdept = cbDept.SelectedValue.ToString();std.sIDNum = txtIDCardNums.Text;std.SBirth = dpBirth.Value;std.sEmail = txtEmail.Text;std.SImage = imgBytes;se.AddTot_Student(std);se.SaveChanges();MessageBox.Show("保存学生信息成功!", "提示信息", MessageBoxButtons.OK, rmation);}catch(Exception ex){MessageBox.Show(ex.Message);}}}(2)查询功能块private void btnQuery_Click(object sender, EventArgs e){using (StdMng2015NEntities se = new StdMng2015NEntities()){t_Student std1 =(from st in se.t_Studentwhere st.sno == txtID.Textselect st).FirstOrDefault();t_Student std = se.t_Student.Where(t => t.sno == txtID.Text).FirstOrDefault();txtName.Text = std.sname;cbGender.SelectedItem =std.SGender;cbDept.SelectedValue = std.Sdept;txtIDCardNums.Text = std.sIDNum;dpBirth.Value = std.SBirth;txtEmail.Text = std.sEmail;pbImage.Image = Bitmap.FromStream(new MemoryStream(std.SImage)); }}计算机科学与工程学院《数据库系统》实验报告11。

相关文档
最新文档