Oracle数据库的使用.doc
文本预览下载声明
实验一 数据库系统的使用
实验目的
熟悉和掌握数据操作语言和数据查询语言;
使用对象-关系SQL进行建模和查询
掌握用户、权限和角色的创建和管理,以及数据库审计
实验要求
独立完成实验内容;
实验报告;(简单要求如下)
实验的整个过程(包括用户身份,SQL执行语句,SQL执行结果(截屏))
回答实验中提出的问题
结果分析。
[注] 标有可选的实验可以不做。
实验内容
3.1 创建用户、角色
由系统管理员(admin)创建以下数据表:课程信息表CourseInfo,排课信息表ClassInfo,部门代码表DepartmentInfo,教师信息表TeacherInfo,学生信息表StudentInfo,选课信息表SelectiveInfo,保存在系统管理员的schema中。请按照文档lab1_DataModel.doc的表结构创建表。
缺省表空间及限额 角色/用户 权限/角色 密码管理 资源限制 Admin,20M 用户:系统管理员(admin) 角色:DBA 三次登录失败,锁定账户;
使用30天后需要更改密码;
旧密码过期后100天内不能重用; SESSIONS_PER_USER = UNLIMITED
CPU_PER_SESSION=UNLIMITED Teacher,2M 角色:教师(teacher) 用户:teacher1 系统权限:
连接数据库
对象权限:
查看学生信息
查看教师信息
更新教师信息
查看排课记录
更新和查看选课信息中成绩列,学号列以及班级列记录
查看院系代码信息 登录时修改密码; SESSIONS_PER_USER=2
IDLE_TIME=30
CONNECT_TIME=60 Student,2M 角色:学生(student) 用户:
(用你的名字) 系统权限:
连接数据库
对象权限:
查看学生信息
查看课程信息
查看选课信息 登录时修改密码; SESSIONS_PER_USER=1
IDLE_TIME=20
CONNECT_TIME=30 实验步骤:
建立角色;
为角色分配权限;
建立密码管理和资源限制Profile文件;
建立用户;
为用户分配角色;
用户登录,执行相应的SQL操作。
3.2 权限管理及安全信息查询
系统管理员admin登录选课系统数据库,登录三次失败,第四次输入正确的密码进行登录,会出现什么情况?为什么?
使teacher1具有创建数据表系统权限,以用户teacher1登录,创建一个部门代码表DepartmentInfo作为系统管理员创建的选课信息表的备份;
用户teacher1登录,分配学生用户(你的名字)查看teacher1. DepartmentInfo记录的权限;学生用户登录,查看teacher1. DepartmentInfo中的记录;〔可选〕
从数据字典中查看teacher1和学生用户的信息;
从数据字典查看teacher1可使用的数据表空间的空间大小信息。〔可选〕
取消用户teacher1创建数据表权限;取消学生用户查看teacher1. DepartmentInfo记录的权限;
从数据库中删除用户teacher1。
3.3 关系查询
查询SelectiveInfo表,显示当前时间7天前的选课记录(不容许写定日期)。
显示选课数目大于2门的学生名单(学号、姓名、院系代码)(提示:利用子查询和group by和聚组函数)
查询所有没有教学任务的教师情况(编号、姓名、所在院系)(提示:用(+)操作和NULL)
3.4 基本对象-关系SQL
创建一个自定义数据类型,代替ClassInfo表中的classTimePlace字段,包含属性有:上课起始时间、上课结束时间、上课地点。
创建一个ClassInfoTemp表,包含ClassInfo里的所有字段(其中classTimePlace字段的类型用自定义类型代替)
往上面这个表中插入2-5行记录,并根据上课地点查询该表所有记录。
因为一门课一周可能有几次课,我们需要设计一个汇集类型的数据表来存放一门课的所有上课时间地点信息(包含内容同1),然后创建ClassInfo2表,其中classTimePlace字段的作为一个表类型列,可以包含多条上课时间地点记录。实验要求:建立这样的ClassInfo2表 。(可选)
往上表中插入若干条记录,每一条classinfo记录中有1-2条classTimePlace信息。(可选)
参考资料
Oracle 9i/10g Database Administrators Guide
评分标准
A——完成必做内容及选做内容,实验报告叙述清晰完整,有详尽的分析和总结;
B——完成必做内容及部分选做内容,实验报告叙述清晰完整,分析合理;
C——完成必做内容,实验报告良好;
D——能完成
显示全部