数据库原理及应用——熟悉数据库管理工具、数据库和表的创建与管理
实验一 熟悉数据库管理工具、数据库和表的创建与管理
一、实验目的:
-
- 了解SQL Server或MYSQL数据库的基本知识;
- 熟悉SQL Server或MYSQL环境和系统结构;
- 掌握图形化交互工具的基本操作,学会数据库及表的创建与管理;
- 理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。
二、实验要求:
理解和掌握SQL DDL语句的语法,特别是各种参数的具体含义和使用方法;使用SQL语句创建、修改和删除数据库、模式和基本表。掌握SQL语句常见语法错误的调试方法。
三、实验重点和难点:
实验重点:创建数据库、基本表。
实验难点:创建基本表时,为不同的列选择合适的数据类型,正确创建表级和列级完整性约束,如列值是否允许为空、主码和外码等。
注意:数据完整性约束,可以在创建基本表时定义,也可以先创建表然后定义完整性约束;由于完整性约束的限制,被引用的表要先创建。
四、实验内容:(SQL Server 或MYSQL数据库二选一,或同步比较学习)
(一)掌握数据库管理工具的配置方法
1.使用Microsoft SQL Server配置管理器控制SQL Server的后台服务;
2.使用Microsoft SQL Server Management Studio综合管理平台配置数据库实例;
3.掌握第三方管理工具连接本地和远程数据库服务器的配置过程与方法;
(二)练习查询分析器的使用
1.使用查询分析器进行查询语句的编写;
2.练习模板的使用;
3.熟悉查询分析器的环境;
(三)熟悉系统数据库的结构
(四)熟悉样例数据库的内容
(五)数据库的创建与管理(两种方法:管理平台与SQL语句)
1.创建一个新的数据库,命名为“学生管理”,查看数据库信息,配置、更名及删除数据库;
(六)表的创建与管理
1.使用数据库管理平台创建三张数据表并添加记录:(两种方法:同上,参考P82-83)
(1)STUDENT(学生信息表)
SNO(学号) | SNAME(姓名) | SEX(性别) | SAGE(年龄) | SDEPT(所在系) |
95001 | 李勇 | 男 | 20 | CS |
95002 | 刘晨 | 女 | 19 | IS |
95003 | 王名 | 女 | 18 | MA |
95004 | 张立 | 男 | 19 | IS |
95005 | 李明 | 男 | 22 | CS |
95006 | 张小梅 | 女 | 23 | IS |
95007 | 封晓文 | 女 | 20 | MA |
(2)COURSE(课程表)
CNO(课程号) | CNAME(课程名) | CPNO(先行课) | CCREDIT(学分) |
1 | 数据库 | 5 | 4 |
2 | 数学 | 2 | |
3 | 信息系统 | 1 | 4 |
4 | 操作系统 | 6 | 3 |
5 | 数据结构 | 7 | 4 |
6 | 数据处理 | 2 | |
7 | PASCAL语言 | 6 | 4 |
(3)SC(选修表)
SNO(学号) | CNO(课程号) | Grade(成绩) |
95001 | 1 | 92 |
95001 | 2 | 85 |
95001 | 3 | 88 |
95002 | 2 | 90 |
95002 | 3 | 80 |
95003 | 1 | 78 |
95003 | 2 | 80 |
95004 | 1 | 90 |
95004 | 4 | 60 |
95005 | 1 | 80 |
95005 | 3 | 89 |
95006 | 3 | 80 |
95007 | 4 | 65 |
2.查看和修改表的属性:(两种方法:同上)
3.用SQL修改表的定义:
1)用SQL语言的方式建立四张基本表:
STUDENT1(sno char(8),sname char(8),sex char(5),age int);
SC1(sno char(8),cno char(3), grade int);
COURSE1(cno char(3) ,cname char(20),ccredit int),
tmp(aa char(2),bb int) ;
2)修改STUDENT1表,增加二个字段,dept char(30),demo char(10),并将 age 的属性改为smallint;
3)删除STUDENT1表中的一列demo;
4)删除表tmp;
五、实验步骤与结果:
1.数据库平台配置过程与结果截图:
Mysql在电脑上已经配置完成,在navicat中连接mysql,用户是管理员,密码为最初在mysql设置的密码,填写连接名。
2.创建数据库与创建表:
方法一:通过mysql命令列界面编写代码create database student_test1创建数据库;
create table student
(sno char(9)
primary key,
sname char(20)unique,
ssex char(2),
sage smallint,
sdept char(20)
);
创建表。
方法二:通过在navicat中鼠标右键点击新建数据库,填写数据库名和字符集与排序规则即可建立新的数据库;同样在表中鼠标右键点击新建表,填写相应字段,即可建立新的表。
3.创建主外键与关系图:
方法一:在navicat中新建表的时候点击一个字段的键,出现钥匙就说明该属性为主键,点击模型再点击表会出现ER关系图,点击左下角新建关系,可以选中某个属性进行创建外键,选择参照表和参照列进行保存,再点击ER关系图就会出现外键连接的线,说明创建成功。
方法二:在命令列中编辑
create table sc
(sno char(9),
cno char(4),
grade smallint,
primary key(sno,cno),
foreign key(sno)references student(sno),
foreign key(cno)references course(cno)
);
其中加粗的部分就是说明主键与外键的参照表和参照列。对应的ER关系图有线连接。
4.数据库备份与还原:
点击备份,新建备份,点击开始就备份完成。
点击备份的文件,有一个还原备份点击,就成功还原备份。
5.数据库数据的导入与导出:
鼠标指到数据库(模式),鼠标右键点击转存SQL文件的结构与数据,选择保存路径,就成功倒出数据库的数据。
新建一个数据库(模式),鼠标右键点击运行SQL文件,选择转存保存过的SQL文件,点击开始,就可以导入数据库的数据。
6.数据库模板与脚本生成:
点击导出向导,选择SQL脚本文件,进一步选择保存的数据,选择路径就成功生成。
7.数据库脚本执行与数据库跨平台移植:
选中数据库鼠标右键点击运行SQl文件,选中已有的SQL脚本文件,选择开始,进而成功导入。
选择工具点击数据传输,就可以进行数据的迁移。
8.查询分析器专项训练:(参考:P85-86)
1.此时成功创造所有表
2.修改student1表,增加二个字段,dept char(30),demo char(10),使用语句alter table student1 add dept char(30); alter table student1 add demo char(10);并将 age 的属性改为smallint;使用语句alter table student1 modify column age smallint;
3.删除表中的demo,使用语句alter table student1 drop column demo;
4.删除表tmp,使用语句drop table tmp;
六、实验心得:
通过此次实验,成功安装了mysql和图形化工具navicat,学习navicat软件的使用,成功创建表和更改表中的信息等;同时使用关系数据库标准语言sql在命令列中也成功创建数据库和表等,并且使用多种方法更改表和删除表等各项操作,进一步学习了sql语言的使用,对今后学习有了较大的帮助。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!