db1西工大数据库实验一数据库和表的创建与管理教学文案
- 格式:doc
- 大小:579.00 KB
- 文档页数:12
实验1数据库定义实验一实验内容1、数据库的创建、修改
和删除2、基本表的定义
一、实验内容
1. 数据库的创建、修改和删除
- 创建名为`TestDB` 的数据库
```sql
CREATE DATABASE TestDB;
```
- 修改数据库的属性,例如增加日志文件大小
```sql
ALTER DATABASE TestDB
MODIFY FILE (NAME = TestDB_Log, SIZE = 50MB);
```
- 删除数据库
```sql
DROP DATABASE TestDB;
```
2. 基本表的定义
- 创建名为`Employees` 的表,包含员工编号(`ID`)、姓
名(`Name`)和工资(`Salary`)列
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Salary DECIMAL(10, 2)
);
```
- 修改表结构,添加部门(`Department`)列
```sql
ALTER TABLE Employees
ADD Department VARCHAR(50);
```
- 删除表
```sql
DROP TABLE Employees;
```
二、总结
通过这个实验,你应该学会了如何使用SQL 语句创建、修改和删除数据库,以及定义基本表的结构。
实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
1.ODBC配置以及程序调试:(50分)(1)配置一个ODBC数据源,要求数据源名称:student,其中包含s(学生信息)表。
用系统工具配置ODBC,点击“添加”:出现以下对话框,选中SQL Sever,点击完成:在出现的对话框中设置属性,如图,点击下一步:点击下一步后出现如下,更改默认数据库,点击下一步:在出现的对话框中点击测试连接后出现测试成功的对话框:点击确定退出ODEC数据源管理器。
(2)阅读并运行实验给出的例子程序,理解ODBC编程,要求简单写出自己对这段程序的理解或者流程图,并且请给出程序运行结果示例图。
对程序的流程:1.定义句柄和变量(句柄包括环境句柄,连接句柄,语句句柄)2.初始化环境(1).分配环境句柄(2).设置管理环境属性(3).连接数据库3.建立连接(1)分配连接句柄(2)连接失败则返回错误值4.初始化语句句柄5.执行语句6.处理结果集合7.中止处理(1).释放语句句柄(2).断开数据源(3).释放连接句柄(3).释放环境句柄结果显示:2.参考给出的ODBC编程示例,使用ODBC技术,编写一个简单的程序,包含对数据库SPJ的连接,查询,插入,修改和删除。
(50分)插入数据:insert into s values('S6','胜利','47','北京')检验数据库内:删除数据:Delete from s where sno=‘S1’查询数据:Select pno,pname from P更新数据:update s set status='100' where sno='S33.用JDBC实现对数据库student的连接,查询,插入,修改和删除。
(选做实验)二.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。
数据库表的创建与管理操作指南1. 引言数据库表是存储和组织数据的重要组成部分。
在创建和管理数据库表时,我们需要遵循一些基本原则和最佳实践,以确保数据库的性能、可维护性和安全性。
本文将为您提供数据库表的创建与管理操作指南,帮助您正确地进行数据库表的设计和管理。
2. 数据库表的创建在创建数据库表之前,我们需要进行一些必要的准备工作。
首先,我们需要明确数据库中需要存储的数据类型和结构。
其次,我们需要了解数据库系统的特点和限制,例如支持的数据类型、最大表大小等。
2.1 数据类型选择数据库系统通常支持多种数据类型,包括整数、字符串、日期和时间等。
在选择数据类型时,我们应根据实际需求和数据特性进行选择,以节约存储空间和提高查询效率。
2.2 表的设计在进行表的设计时,我们需要关注以下几个方面:- 数据表的命名:选择一个有意义且易于理解的表名,能够准确反映表所存储的数据内容。
- 数据字段的命名:选择有意义的字段名,能够清晰地描述字段的含义。
避免使用过长或含有特殊字符的字段名。
- 主键的选择:每个表中应当有一个主键,用于唯一标识表中的每一行数据。
主键可以是一个或多个字段的组合。
- 索引的创建:为经常用于查询条件的字段创建索引,可以提高查询效率。
- 外键的使用:在存在关联关系的表之间,可以使用外键来维护数据的完整性和逻辑关系。
3. 数据库表的管理一旦数据库表被创建,我们需要进行有效和安全的管理以确保数据的完整性和系统的高性能。
3.1 表的修改在进行表的修改时,我们需要注意以下几点:- 添加字段:可以使用ALTER TABLE语句向表中添加新字段。
添加字段时,需要仔细考虑如何维护已有数据的完整性。
- 修改字段:使用ALTER TABLE语句可以修改表中的字段。
修改字段时,需要注意是否会影响已有数据的完整性和查询性能。
- 删除字段:使用ALTER TABLE语句可以删除表中的字段。
删除字段时,需要确保不影响已有数据的完整性。
南京信息工程大学实验(实习)报告实验(实习)名称数据库和表的创建与管理实验(实习)日期得分指导教师系计算机专业计算机科学与技术年级班次姓名学号一、实验目的1.熟悉S QL Server 2005 中S QL Server Management Studio 的环境。
2.了解S QL Server 2005 数据库的逻辑结构和物理结构。
3.掌握使用向导创建和删除数据库的方法。
4.掌握使用S QL 语句创建和删除数据库。
5.了解表的结构特点,了解SQL Server 的基本数据类型,管理器创建表,会用T-SQL语句创建表。
6.管理器中修改表的定义,使用SQL语句修改表的定义。
二、实验内容内容一:使用向导创建和删除数据库。
内容二:使用SQL 语句创建和删除数据库。
内容三:用向导和SQL 语句创建和删除表。
‘内容四:修改数据库基本表的定义。
三、实验步骤内容一:设有一学籍管理系统,其数据库名为“EDUC”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。
数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。
日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。
(1)使用向导创建上诉描述的数据库。
1.建立数据库2.修改数据库名,数据库逻辑名,初始大小,增长方式等(2)使用向导删除上面建立的数据库。
1.删除数据库:内容二:1.以下是创建数据库userdb1 的SQL 语句,Create database userdb1On((name='userdb4_data',/*数据文件的逻辑名称,注意不能与日志逻辑同名*/filename='d:\sql_data\userdb4.mdf' ,/*物理名称,注意路径必须存在*/size=5,/*数据初始长度为M*/maxsize=10,/*最大长度为M*/filegrowth=1)/*数据文件每次增长M*/log on(( name=userdb4_log,filename='d:\sql_data\userdb4.ldf ' ,size=2,maxsize=5,filegrowth=1)Goa.选“视图”-“模板资源管理器”-Database-create database,双击databaseb.编写上述代码:2.根据步骤1 的sql 语句,写出创建实验二中数据库EDUC 的sql 语句,并建立数据库EDUC.3.用SQL 语句删除步骤一建立的数据库userdb1。
XI`AN TECHNOLOGICAL UNIVERSITY 实验报告西安工业大学实验报告一、实验目的(1)了解SQL Server数据库的逻辑结构和物理结构。
(2)了解表的结构特点。
(3)了解SQL Server的基本数据类型。
(4)了解空值概念。
(5)学会在对象资源管理器中创建数据库和表。
(6)学会使用T-SQL语句创建数据库和表。
(7)学会在对象资源管理器中对数据库表进行插入、修改和删除数据操作。
(8)学会使用T-SQL语句对数据库表进行插入、修改和删除数据操作。
(9)了解数据更新操作时要注意数据完整性。
二、实验内容(1)创建一个数据库数据库YGGL的逻辑文件初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长。
日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
事物日志的逻辑文件和物理文件名也均采用默认值。
要求分别使用对象资源管理器和T-SQL命令完成数据库的创建工作。
(2)在创建好的员工管理数据库(YGGL)中创建数据表考虑到员工管理数据库YGGL要求包括员工的信息、部门信息以及员工的薪水信息,所以数据库YGGL应包含三个表Employees(员工自然信息)表、Departments(部门信息)表和Salary (员工薪水情况)表。
(3)分别使用对象资源管理器和T-SQL语句,向在实验2中建立的数据库YGGL的3个表Employees、Departments和Salary中插入多行数据记录,然后修改和删除一些记录。
使用T-SQL语句进行有限制的修改和删除。
三、实验步骤、数据记录及处理1界面方式创建数据库(1)创建数据库使用系统管理员用户以Window身份验证方式登陆SQL Server服务器,在“对象资源管理器”选择“数据库”节点,右键单击鼠标,打开“新建数据库”窗口,在“新建数据库”窗口的“常规”选项中输入数据库名“YGGL”,“所有者”为默认值。
课程:数据库原理及应用实验题目:数据库及数据库中表的建立实验一、实验目的1. 熟悉SQL Server的环境。
2. 掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解SQL Server进行配置的方法。
3. 掌握查询分析器的基本使用方法以及在查询分析器中实行T-SQL语气的方法。
4. 了解SQL Server 数据库的逻辑结构和物理结构。
5. 学会在企业管理器中创建数据库及查看数据库属性。
6. 学会使用T-SQL语气创建数据库。
7. 了解SQL Server的基本数据类型、空值的概念,以及表的结构特点。
8. 学会使用T-SQL语气和企业管理器创建表结构和修改表结构。
9. 学会使用SQL Server提供的数据完整性功能,并在创建表时定义表的数据完整性。
通过实验进一步理解数据完整性的概念及分类。
二、实验内容1.学会使用企业管理器和查询分析器管理工具。
2.使用企业管理器创建数据库。
3.在查询分析器中使用T-SQL语句创建数据库。
4.使用T-SQL语句创建一个图书管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小,增长方式,文件的增长上限等均可采用默认值。
5.使用T-SQL语句或企业管理器创建课本第二章习题10的SPJ数据库,可以自行定义文件大小,增长方式等。
6.查看物理磁盘目录,理解并分析SQL Server数据库的存储结构。
7.使用企业管理器查看数据库属性。
8.使用T-SQL语句或企业管理器对于(2)-(5)中建立的数据库进行和删除操作。
9.用企业管理器在教务管理数据库JWGL中创建学生表STUDENT,课程表COURSE,学生选课表SC。
10.用TQL语句在MARKET数据库中创建客户信息基本表CUOSTOMERS,货品信息表GOODS,订单信息表ORDERS。
11.使用T-SQL语句在SPJ数据库中建立第2章习题10中的4张表:S,P,J,SPJ.12.使用T-SQL语句在图书借阅管理数据库TSGL中建立图书,读者和借阅3个表。
实验2:创建数据库表与索引----表的创建与管理1.实验目的:掌握表和索引的建立方法及表结构的修改方法,了解表关系建立的条件和作用,并实践数据库管理系统提供的数据完整性功能,加深对数据完整性的理解。
要求建立表、修改表结构、建立索引、进行数据完整性描述。
2.实验要求:⑴在已经建立的数据库中创建表运用Microsoft SQL Server2000企业管理器和Transact-SQL语句两种方法建立“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”。
⑵了解表与表之间的逻辑依赖关系学会在Microsoft SQL Server2000企业管理器中,创建表之间的关联关系,通过外键的拖曳建立表的基本依赖关系,从而直白的表达整个数据库的表间联系,但是,注意:过程中,主键与外键对应的源数据表。
⑶修改表结构将学生档案表“姓名”字段的数据类型修改为varchar(8)。
为学生成绩表增减一个新的字段——“总成绩”,类型为real,默认是空值。
学生成绩表“平时成绩”字段的取值为小于100的正数。
⑷建立索引运用Transact—SQL语句建立以下索引:◆在学生档案表的“姓名”字段上建立普通升序索引;◆在学生档案表的“学号”字段上建立唯一索引;◆在学生档案表的“学号”字段上建立聚集索引;◆在学生档案表的“学号”(升序)、“姓名”(升序)和“籍贯”(升序)三个字段上建立一个普通索引;◆运用SQL企业管理器在学生档案表中的“籍贯”字段上创建普通升序索引。
3.实验环境与实验器材:计算机,网络环境,投影设备。
实验相关软件:Window xp、SQL Server 2000。
4.实验内容与步骤使用企业管理器和Transact-SQL语句创建“课程信息表”、“教学任务表”、“教师档案表”、“学生档案表”、“学生选课表”、“学生成绩表”6张表,6张表的具体设计内容:“课程信息表”包括课程名称、课程类别、学分和学时等;“教师档案表”和“学生档案表”记录了教师和学生的基本情况;“教学任务表”包括课程ID、任课教师ID、学期和年度;“学生选课表”给出了学生与课程之间的关系;“学生成绩表”则给出了学生成绩的计算方法。
数据库表的创建、管理和数据操作(实验⼀),数据库创建数据库表的创建、管理和数据操作(实验⼀),数据库创建今天我们就以实验的形式对表的创建、管理和数据操作进⾏学习,上课吧。
【实验⽬的】:了解SQL语⾔的使⽤,进⼀步理解关系运算,巩固数据库的基础知识。
【实验要求】:利⽤SQL语⾔进⾏数据库表的各种操作:1.数据库表的创建、修改和删除操作。
2.向表中进⾏数据的插⼊、删除和修改操作。
【实验内容】1. 利⽤数据定义语句在实验⼀创建的stu_DB库中建⽴学⽣管理系统的三个表:Student、Course、SC。
2.利⽤INSERT、UPDATE和DELETE语句对上述三张表的数据进⾏插⼊、更新和删除操作。
3.在stu_DB库中添加Teacher和TC表,对已建⽴的学⽣管理系统中的表添加充⾜的数据(每个表不少于20条),以便完成本实验的后继操作。
【实验步骤】⼀、数据定义(⼀)表的创建在实验⼀创建的数据库stu_DB中分别⽤企业管理器和查询分析器,按下⾯的表结构创建学⽣管理系统的表。
1.利⽤企业管理器创建表(1)打开企业管理器。
(2)选中实验⼀创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗⼝右侧选择新建表,弹出如图所⽰窗体。
(3)在这个窗体中,列名列就⽰表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。
(4)在此处可以为表选择⽂件组,在表中单击右键,选择属性,如果已经为数据库创建了⼀个次要组,可以在属性窗体的表⽂件组中为此表选择⽂件组。
应该把⼀些竞争使⽤的表放于不同的⽂件组中,并且让⽂件组属于不同磁盘,这样可以在表竞争读写时提⾼并发性能。
(5)创建完成后,单击磁盘图标,并为表取⼀个名字。
注意,应该为表取⼀个有意义的名字。
2.⽤Transact_SQL语句创建表语法为:CREATE TABLE[ database_name.[owner].] table_name( {column_name data_type [DEFAULT ‘default_value']|[CONSTRAINT CONSTRAINT_name]}, […n] [IDENTITY [(seed, increment )]])[ON { filegroup | DEFAULT }][TEXTIMAGE_ON {filegroup | DEFAULT }]【例1】⽣成⼀个表名为student的表create table student(sno CHAR(8) primary key,sname CHAR(10) not null,ssex CHAR (2) check (ssex='男'or ssex='⼥'),sage smallint,sdept CHAR (20) default ('计算机系'),)【例2】创建⼀张名为Ta1的表,此表中有3列,第⼀列Pid定义为主键,并且⾃动增长。
实验1创建数据库及表的创建与管理一、实验目的与要求1、掌握使用T-SQL语句创建数据库、数据表和`数据表完整性约束的定义。
2、熟悉表的结构和列所使用的数据类型。
3、理解数据表完整性含义及其定义的方法。
二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容(一)数据库创建与管理创建一个“教务管理系统”数据库,并将下列表创建在该数据库中(二)在“教务管理系统”数据库钟实现表的创建与完整性定义StudentInfo(学生信息表)TeacherInfo(教师信息表)CourseInfo(课程信息表)StudentCourse(学生选课表)Teaching(教学表)RankPayment(职称课酬表)1、使用T-SQL语句创建以上数据表。
同时定义主键约束:StudentInfo表主键Sno;TeacherInfo表主键Tno;CourseInfo表主键Cno;RankPayment表主键Trank。
2、使用T-SQL语句定义以上数据表的其他约束①对StudentInfo表的Sname进行唯一性约束(unique约束),约束名称为S1。
②对CourseInfo表的Cname进行唯一性约束(unique约束)。
③对StudentCourse表定义外键约束:Sno引用StudentInfo表中的Sno,Cno 引用CourseInfo表中的Cno。
④对TeacherInfo表定义外键约束:Trank引用RankPayment表中的Trank。
⑤对Teaching表定义外键约束:Tno引用TeacherInfo表中的Tno,Cno引用CourseInfo表中的Cno。
⑥对StudentCourse表的Score进行CHECK约束:Score必须在0至100之间。
⑦对StudentInfo表中的Ssex和TeacherInfo表中的Tsex进行默认值定义,默认值为“男”注:表中完整性约束查看命令:exec sp_help 表名(三)修改基本表①向基本表StudentInfo中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。
竭诚为您提供优质文档/双击可除数据库和表的创建实验报告篇一:数据库和表的创建与管理实验报告南京信息工程大学实验(实习)报告实验(实习)名称数据库和表的创建与管理实验(实习)日期得分指导教师系计算机专业计算机科学与技术年级班次姓名学号一、实验目的1.熟悉sQLserver20XX中sQLservermanagementstudio 的环境。
2.了解sQLserver20XX数据库的逻辑结构和物理结构。
3.掌握使用向导创建和删除数据库的方法。
4.掌握使用sQL语句创建和删除数据库。
5.了解表的结构特点,了解sQLserver的基本数据类型,管理器创建表,会用T-sQL语句创建表。
6.管理器中修改表的定义,使用sQL语句修改表的定义。
二、实验内容内容一:使用向导创建和删除数据库。
内容二:使用sQL语句创建和删除数据库。
内容三:用向导和sQL语句创建和删除表。
‘内容四:修改数据库基本表的定义。
三、实验步骤内容一:设有一学籍管理系统,其数据库名为“eDuc”,初始大小为10mb,最大为50mb,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2mb,最大可增长到5mb,按1mb 增长。
数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“e:\sql_data”。
日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“e:\sql_data”。
(1)使用向导创建上诉描述的数据库。
1.建立数据库2.修改数据库名,数据库逻辑名,初始大小,增长方式等(2)使用向导删除上面建立的数据库。
1.删除数据库:内容二:1.以下是创建数据库userdb1的sQL语句,createdatabaseuserdb1on((name=userdb4_data,/*数据文件的逻辑名称,注意不能与日志逻辑同名*/filename=d:\sql_data\userdb4.mdf,/*物理名称,注意路径必须存在*/size=5,/*数据初始长度为m*/maxsize=10,/*最大长度为m*/filegrowth=1)/*数据文件每次增长m*/logon((name=userdb4_log,filename=d:\sql_data\userdb4.ldf,size=2,maxsize=5,filegrowth=1)goa.选“视图”-“模板资源管理器”-Database-createdatabase,双击databaseb.编写上述代码:2.根据步骤1的sql语句,写出创建实验二中数据库eDuc的sql语句,并建立数据库eDuc.3.用sQL语句删除步骤一建立的数据库userdb1。
【关键字】精品实训一数据库和表的创建实训目的(1) 掌握数据库和表的基础知识。
(2) 掌握使用企业管理器和Transact-SQL语句创建数据库和表的方法。
(3) 掌握数据库和表的修改、查看、删除等基本操作方法。
实训内容和要求1.数据库的创建、查看、修改和删除(1) 使用企业管理器创建数据库创建成绩管理数据库Grademanager,要求见表10-1。
表10-1 Grademanager数据库参数表(2) 查看与修改数据库属性① 在企业管理器中查看创建后的grademanager数据库,查看grademanager_data.mdf、grademanager_log.ldf两个数据库文件所处的文件夹。
② 使用企业管理器更改数据库。
更改的参数见表10-2。
表10-2 要更改的参数表(3) 使用企业管理器删除该数据库(4) 使用Transact-SQL命令创建上述要求的数据库(5) 使用Transact-SQL命令查看和修改上述要求的数据库(6) 使用Transact-SQL命令删除该数据库2.表的创建、查看、修改和删除(1) 在Grademanager数据库中创建如表10-3、表10-4和表10-5所示结构的表。
表10-3 Student表的表结构表10-4 Course表(课程名称表)的表结构表10-5 SC表(成绩表)的表结构(2) 向表10-3、表10-4和表10-5输入数据记录,见表10-6、表10-7和表10-8。
表10-6 学生关系表Student表10-7 课程关系表Course表10-8 成绩表SC(3) 修改表结构。
① 向student表中增加“入学时间”列,其数据类型为日期时间型。
② 将student表中的sdept字段长度改为20。
③ 将student表中的Speciality字段删除。
(4) 删除student表。
思考题(1) SQL Server的数据库文件有几种?扩展名分别是什么?(2) SQL Server 2000中有哪几种整型数据类型?它们占用的存储空间分别是多少?取值范围分别是什么?(3) 在定义基本表语句时,NOT NULL参数的作用是什么?(4) 主码可以建立在“值可以为NULL”的列上吗?实训二单表查询实训目的(1) 掌握SELECT语句的基本用法。
实验1 数据库及数据库表的建立实验1.实验目的本实验的目的是使学生熟悉SQL Server 2000的用法,熟悉如何建立数据库与关系模式,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。
熟练掌握简单表的创建与修改。
2.实验时数2学时3.实验内容1.建立学生-课程数据库StudentDB,创建数据库语句为:Create database StudentDB2.创建关系模式“StudentDB”,并创建数据库下的三张表Student、Course、SCa。
学生表:Student(Sno,Sname,Sex,Sage,Sdept)Student由学号(Sno)、姓名(Sname)、性别(Sex)、年龄(Sage)、所在系(Sdept)五个属性组成,其中Sno为主键。
数据类型说明如下:例如:CREATE TABLE Student(Sno CHAR(9)PRIMARY KEY,/* 列级完整性约束条件*/Sname CHAR(20)UNIQUE,/* Sname取唯一值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));并且插入相应数据b.课程表:Course(Cno,Cname,Ccredit)Course课程号(Cno)、课程名(Cname)、先修课(Cpno)、学分(Ccredit)三个属性组成,其中Cno为主键。
其中先修课(Cpno)为Course表的外码,并且引用Course表的Cno属性列。
数据类型说明为:并且插入相应数据c.学生选课表:Score(Sno,Cno,Grade)Score由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,其Sno、Cno的组合为主键。
其中Sno,Cno分别为该Score表的外码,分别引用Student表的Sno属性列和Course表的Cno属性列。
数据类型说明为:并且插入相应数据3.基本表的修改:a)向Student表增加“入学时间”列,期数据类型为日期型b)将成绩的数据类型由字符型改为可变字符型varcharc)增加课程名称必须取唯一值的约束条件4.删除基本表a)删除Student表b)若该表上存在引用关系,则先删除引用该表的表。
《数据库原理》实验报告题目:实验一数据库和表的创建与管理学号姓名班级日期一.实验内容、步骤以及结果1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。
(5分)exec sp_rename v_spj,v_spj_三建2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分)(1)创建一个带参数的存储过程—jsearch。
该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME)。
执行jsearch存储过程,查询“J1”对应的信息。
(10分)创建:create procedure jsearch(@search_jno nchar(20) )asbeginselect j.jname,s.sname,p.pnamefrom s,p,j,spjwherespj.jno=@search_jno and spj.jno=j.jno and spj.sno=s.sno and spj.pno=p.pno end执行:EXEC jsearch @search_jno='J1'(2)使用S表,为其创建一个加密的存储过程—jmsearch。
该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。
(10分)创建:create procedure jmsearchwith encryptionasbeginselect * from Swhere city='北京'end使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。
(5分)exec sp_helptext 'jsearch'exec sp_helptext 'jmsearch'(3)执行jmsearch存储过程,查看北京供应商的情况。
《数据库原理》实验报告题目:实验一学号姓名班级日期数据库和表的创建与管理一. 实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分)数据库和表的要求(第四版教材第二章习题5要求的数据库)数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表图2.1 S表(供货商表)图2.2 P表(零件表)图2.4 SPJ表(供应情况表)图2.3 J表(工程项目表)完成以下具体操作:(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。
(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。
(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5)删除已经创建的工程项目表(J表)。
(6)删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)(7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。
(还原数据库)(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)(9)将SPJ数据库的文件大小修改为100MB。
(10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。
实验具体步骤:(1)创建SPJ数据库:右击数据库-->新建数据库-->填写相应参数-->点击确定。
如下图:(2)在SPJ数据库中创建四张表:单击数据库SPJ-->右击‘表’-->新建表-->填写参数-->确定。
数据库技术I(2010年秋)数据库技术I 实验报告系别:班级:姓名:学号:成绩:评语:指导教师签字:日期:实验一:数据库的建立与维护一、实验题目1、根据以上数据字典,画出该数据库的ER图,完成数据库的概念结构设计;2、将ER图转换成逻辑关系模式,判断逻辑数据库模式中的各个关系(表)是第几范式,如果没有达到第三范式或BC范式,请进行规范化。
完成数据库的逻辑结构设计。
3、通过企业管理器或者查询分析器实现关系模式的存储,包括确定主码、外部码等。
4、通过企业管理器或查询分析器向数据库中输入数据。
5、打开数据库SQL Server 2005的查询分析器,用SQL语言完成以下语句。
并通过实验结果验证查询语言的正确性,将每个SQL语言及结果存盘,以备老师检查。
(1)求全体学生的学号、姓名和出生年份。
(2)求每个系的学生总人数并按降序排列。
(3)求选修了课程号为002或003的学生的学号、课程名和成绩。
(4)检索选修某课程的学生人数多于3人的教师姓名。
(5)查询所有未选课程的学生姓名和所在系。
(6)求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分。
(7)求所有讲授数据结构课程的教师姓名(8)查询所有选修了李正科老师的课程的学生信息(9)新建一个关系表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
将表Student中在计算机系‘CS’的学生数据插入到表S1中。
(10)建立计算机系的学生的视图STUDENT_CS。
利用视图STUDENT_CS,将学生的001号课程的成绩提高5分。
(11)创建一个带参数的存储过程,将数据结构课程的成绩在low与Hign分数段的学生信息提取出来,查询后的结果包括:姓名、所在的系、成绩。
二、实验环境及要求数据库实验要求如下环境,服务器端:Windows 2000/xp、数据库服务器(SQL Server 2005)、Web服务器(IIS 5.0)和ASP。
《数据库原理》实验报告题目:实验一学号姓名班级日期数据库和表的创建与管理一. 实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分)数据库和表的要求(第四版教材第二章习题5要求的数据库)数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表图2.1 S表(供货商表)图2.2 P表(零件表)图2.4 SPJ表(供应情况表)图2.3 J表(工程项目表)完成以下具体操作:(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。
(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。
(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5)删除已经创建的工程项目表(J表)。
(6)删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)(7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。
(还原数据库)(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)(9)将SPJ数据库的文件大小修改为100MB。
(10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。
实验具体步骤:(1)创建SPJ数据库:右击数据库-->新建数据库-->填写相应参数-->点击确定。
如下图:(2)在SPJ数据库中创建四张表:单击数据库SPJ-->右击‘表’-->新建表-->填写参数-->确定。
如下图:(3)备份数据库SPJ(第一种方法):右击数据库SPJ-->任务-->备份-->填参数-->确定。
如下图:(4)备份数据库SPJ(第二种方法):找到SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)-->复制到其他文件夹进行备份,如下图:(5)删除已经创建的工程项目表(J表):单击数据库SPJ--》单击表--》右击J--》选择删除。
如下图(6)删除SPJ数据库:右击数据库SPJ--》选择删除命令。
如下图(7)利用备份过的bak备份文件还原刚才删除的SPJ数据库:右击数据库--》选择还原数据库命令--》填写参数--》确定。
如下图(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库:找到备份右击数据库--》选择还原数据库命令--》填写参数--》确定。
(9)将SPJ数据库的文件大小修改100M:右击数据库--》右击SPJ--》填写参数--》右击属性--》选择页点击文件--》修改参数,如下图:(10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型:点击SPJ--》点击表--》点击s表--》修改参数,如下图:2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分)数据库和表的要求数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。
各表的结构以及数据如下所示:图2.5 S表(学生表)图2.7 SC表(选课表)图2.6 C表(课程表)完成以下具体操作:(1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2)用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。
不用输入数据。
(3)用SQL中的backup 语句将数据库Student备份到一个bak文件。
(提示:backupdatabase student to disk)(4)用SQL语句删除创建的表。
(5)将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份(复制)后,用SQL语句删除创建的数据库。
(6)用SQL中的sp_attache_db语句完成对数据库Student的附加。
(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等,具体用法:exec sp_attache_db )(7)先删除SPJ库,再用SQL中的restore 语句还原刚才备份的数据库Student。
(提示:restore database student from disk)(8)用SQL语言修改数据库Student,给Student数据库添加一个文件组 TestFG1,然后将两个 5 MB 的文件添加到该文件组。
(提示:alter database)(9)修改S表,增加一个表示联系电话的字段sPhoneNo,数据类型为字符串类型。
(10)利用SQL Server Management Studio的生成脚本功能(选中Student库->右键菜单“任务”-> “生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。
具体步骤如下:(1):创建数据库:点击新建查询--》输入SQL命令--》执行。
CREATE DATABASE StudentON(NAME=Student_data,FILENAME='D:\数据库\Student_data.mdf',SIZE=20MB,MAXSIZE=100MB,FILEGROWTH=10MB)LOG ON(NAME=Student_log,FILENAME='D:\数据库\Student_log.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)GO(2)建表:点击新建查询--》输入SQL命令--》执行。
CREATE TABLE S(sno CHAR(10),sname CHAR(10),ssex CHAR(10),sbirth CHAR(10),sdept CHAR(10))CREATE TABLE C(cno CHAR(5),cname CHAR(5),cpno CHAR(5),ccredit CHAR(5))CREATE TABLE SC(sno CHAR(5),cno CHAR(5),grade char(10))(3)备份:点击新建查询--》输入SQL命令--》执行。
USE StudentGOBACKUP DATABASE StudentTO DISK='D:\数据库\备份数据库\backup_Student'WITH INITGO(4)删除创建的表:DROP TABLE SGODROP TABLE CGODROP TABLE S CGO(5)删除数据库:USE masterGODROP DATABASE StudentGO(6)数据库附加:EXEC sp_attach_db@dbname=N'Student',@filename1=N'D:\数据库\备份数据库\Student_data.mdf', @filename2=N'D:\数据库\备份数据库\Student_log.ldf'GO(7)还原数据库:用SQL语句删除创建的数据库:USE masterGODROP DATABASE SPJGO还原数据库:lRESTORE DA TABASE StudentFROM DISK='G:\数据库\DB1\备份数据库\backup_Student'WITH REPLACEGO(8)添加文件组:ALTER DATABASE TestFG1ADD FILE(NAME=TestFG1dat2,FILENAME='D:\数据库\t1dat1.ndf',SIZE= 5MB)ALTER DATABASE TestFG1ADD FILE(NAME=TestFG1dat2,FILENAME='D:\数据库\t1dat11.ndf',SIZE= 5MB)(9)修改S表:ALTER TABLE S ADD NICKNAME CHAR(20)(10)利用SQL Server Management Studio的生成脚本功能(选中Student库->右键菜单“任务”-> “生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。
二. 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)这是第一次数据库实验,第一次切身体会编使用SQL sever,第一次写SQL语句,之前一个月对数据库这门课一直没有太大的兴趣,只觉得是无谓的学习,但是在真正接触SQL后便被折服,4小时的时间不足以完成任务,刚接触时还有些不适应但后来便越来越得心印手了。
通过这次实验,使我加深了对数据库的兴趣,锻炼了动手操作能力。
希望在以后的实验课上经过努力是自己的数据库知识越来越丰富,能力越来越强。
批阅者:批阅日期:实验成绩:批注:。