数据库系统--基于MySql和Navicate视图、索引的应用(超详细/设计/实验/作业/练习)

课程名:数据库系统

内容/作用:设计/实验/作业/练习

学习:基于MySql和Navicate视图、索引的应用

一、前言

1.了解索引、视图的基本概念、类型。
2.掌握视图的定义方法。
3.理解索引的定义方法。

二、环境与设备

1、设备:Windows 10
2、软件:MySql和Navicate

三、内容

  数据库三级模式两级印象
  外模式: 局部逻辑结构(视图)
  模式:全局逻辑结构
  内模式

(一)视图的应用
1、建立名为“学生选课信息”的视图,视图中显示学号、姓名、课程号、课程名、成绩

create view 学生选课信息 as
select student.sno,sname,sc.cid,cname,ascore 
from student,sc,course
where sc.cid=course.cid and student.sno=sc.sno

2、建立名为“数据库选课信息”的视图,视图中显示选修过数据库相关课程的学生选课信息:学号,姓名,课程名,成绩

create view 数据库选课信息 as
select student.sno,sname,sc.cid,cname,ascore 
from student,sc,course
where sc.cid=course.cid and student.sno=sc.sno and course.cname like '%数据库%'

3、建立名为“学生选课门数”的视图,视图中显示每个学生的选课门数

create view 学生选课门数 as
select 
from 
where

4、建立名为“选课信息统计”的视图,视图中显示所有选课成绩的最高分、总分、平均分及选课总人数

create view 选课信息统计 as
select 
from 
where

5、建立名为“入校成绩统计信息”的视图,视图中显示各分数段的人数.

create view 入校成绩统计信息 as
select '300-400分' as 分数段,count(*)
from student
where ascore >=300 and ascore<400
union
select '400-500分' as 分数段,count(*)
from student
where ascore >=400 and ascore<500

(二)索引的应用
1、在student表中根据性别建立一个普通索引,索引名为:

index_sex。
create index index_sex on student(sex)

2、在student表中根据入校成绩和姓名创建一个名为:index_name_asco的普通索引。

create index index_name_asco on student(ascore,sname)

3、在course表中根据课程号和课程名创建一个(唯一型)索引,索引名为:index_cid_cname.

create unique index index_cid_cname on course(cid,cname)

4、在sc表中根据学号、课程号、成绩创建一个主索引,索引名为:index_scno

create primery key index index_scno on sc(sno,cid,scores)
alter index scno rename to index_scno

alter table sc add primary key index_scno(sno,cid,cxores)

alter table 表名
add column  新列名 数据类型[完整性约束]--新增字段
add 表级完整性约束--主键、外键等
drop column 列名 cascade|restrict --删除字段
drop constraint 完整性约束名 cascade|restrict --删除约束条件
alter column 列名 数据类型--修改字段

四、总结

数据库的完整性约束;

  1. 实体完整性:主键
  2. 参照完整性:外键(标间关系)
  3. 用户自定义完整性:数据类型、长度、默认值、是否NULL、check约束(取值范围)等
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值