南邮数据库系统实验(1)

实验一

实验名称:SQL语言

一、 实验目的和要求
(1) 通过上机实践,熟悉Oracle的SQL * Plus环境及使用方法
(2) 掌握SQL语言,能熟练运用SQL语言进行数据定义和数据操纵
(3) 加深对关系数据模型的数据结构和约束的理解

二、实验原理及内容
实验内容如下:
1. 了解并掌握SQLPlus环境的使用
(1) 以管理员身份登录到Oracle SQL
Plus;
CREATE USER B1704 IDENTIFIED BY XXX;
(2) 以学号为用户名创建一个用户,并授予其权限;
Grant DBA to XXX;
(3) 管理员退出Oracle,重新用新创建的用户登录Oracle。
Connect B1704

2.用SQL的DDL语句图书管理系统创建基表

CREATE TABLE B
   	(B#   CHAR(4) NOT NULL,
   	CLASS  CHAR(15) NOT NULL,
  	BNAME   CHAR(50),
	AUTHER  CHAR(25),
	PUBLISH  CHAR(25),
   	VALUE    FLOAT(4),
   	PRIMARY  KEY(B#));


CREATE TABLE R
   (R#   CHAR(4) NOT NULL,
   RNAME    CHAR(20) NOT NULL,
   COMPANY  CHAR(50),
   POSITION  CHAR(20), 
   PRIMARY  KEY(R#));


 CREATE TABLE BR
   (B#     CHAR(4),
   R#     CHAR(4),
   BDATE DATE,
   OTHER CHAR(50),
	FOREIGN KEY(B#)REFERENCES B(B#),
	FOREIGN KEY(R#)REFERENCES R(R#));  

3.为基表“读者”补充定义:职称只能取初级、中级、高级之一。
ALTER TABLE R ADD CHECK(POSITION IN(‘初级’,’中级’,’高级’));

4.用SQL的DML语句向上述基表中增加、修改和删除数据

(1) 向三个基表中插入数据
  INSERT INTO B VALUES (0001,’TP31’,’计算机组成’,’WANG’,’人民教育’,66.00);
  INSERT INTO B VALUES (0002,’TP32’,’数据库系统概论’,NULL,’高等教育’,50.00);
  INSERT INTO B VALUES (0003,’TP33’,’数据结构’,NULL,NULL,30.50);
  
  INSERT INTO R VALUES (‘T201’,’LIXIN’,’计算机系’,’中级’);
  INSERT INTO R VALUES (‘L001’,’ZHANGHUA’,’计算机系’,’高级’);
 
  INSERT INTO BR VALUES (0001, ‘Z003’,to_date(20XX-3-3,’yyyy-mm-dd’),NULL);
  INSERT INTO BR VALUES (0001, ‘T201’, to_date(20XX-3-6,’yyyy-mm-dd’),NULL);
  INSERT INTO BR VALUES (0005, ‘L001’, to_date(20XX-4-11,’yyyy-mm-dd’),NULL);

(2) 数据的修改和删除
写出对应的SQL语句
①	UPDATE B SET AUTHER=’LIUWEI’, PUBLISH=’高等教育’ WHERE B#=0001;UPDATE B SET CLASS#=’TP50’ WHERE BNAME LIKE ‘%数据库%’;UPDATE B SET VALUE=VALUE*1.10;DELETE FROM BR WHERE R# LIKE ‘s%’;
DELETE FROM R WHERE R# LIKE ‘s%’;

5.用SQL的QL语句完成查询

(1) SELECT BNAME, AUTHER FROM B;
(2) SELECT RNAME,POSITION FROM R,BR 
WHERE R.R#=BR.R# AND COMPANY=‘南京邮电大学’;
(3) SELECT * FROM B 
WHERE VALUE>ALL(SELECT VALUE FROM B WHERE AUTHER=’LIWEI’) ;
(4) SELECT MAX(VALUE),MIN(VALUE),AVG(VALUE) FROM B GROUP BY AUTHER;
(5) SELECT RNAME,COMPANY FROM R
  WHERE R# IN (SELECT R# FROM BR GROUP BY R# HAVING COUNT(*)>=3);

6.用SQL的DDL语句创建视图、索引

(1) CREATE VIEW V1(COMP,R_NUM,BORROW_NUM)
AS SELECT R.COMPANY,COUNT(DISTINCT B.B#),COUNT (B.B#) FROM B,BR,R
WHERE B.B#=BR.B#  GROUP BY COMPANY;
 (2) SELECT * FROM V1;
(3)CREATE INDEX I1 ON B(PUBLISH DESC);

7.为当前用户创建一张结构与scott用户的员工表emp表相同的员工表。

Connect scott/tiger
Grant all privileges on emp to wang;
Connect wang/root
Create table employee as select * from scott.emp;
### 关于数据库系统实验报告的结构与内容 份完整的数据库系统实验报告通常应包括以下几个部分: #### 1. 实验概述 这部分需简明扼要地描述实验的目的、背景以及所涉及的核心知识点。例如,在学习数据库系统的课程中,学生会接触到数据模型理论、关系演算理论和数据库设计理论等内容[^1]。 #### 2. 实验环境配置 详细说明实验所需的软硬件环境,比如操作系统版本、数据库管理系统(DBMS)的选择及其安装过程。常见的 DBMS 包括 MySQL、PostgreSQL 和 Oracle 等。以下是 PostgreSQL 的简单安装命令示例: ```bash sudo apt update sudo apt install postgresql postgresql-contrib ``` #### 3. 实验步骤与操作 具体阐述每步的操作流程,并附上相应的 SQL 查询语句或其他必要的代码片段。例如创建表并插入数据的过程如下所示: ```sql CREATE TABLE employees ( id SERIAL PRIMARY KEY, name VARCHAR(100), position TEXT, salary NUMERIC(8, 2) ); INSERT INTO employees (name, position, salary) VALUES ('Alice', 'Manager', 7500); ``` #### 4. 结果分析 展示执行上述操作后的结果截图或者文字描述,并对其进行深入解析。如果涉及到查询优化,则可以对比不同方法下的性能差异。 #### 5. 总结反思 总结本次实验收获的同时指出可能存在的不足之处,并对未来改进方向提出建议。 --- ### 电大学数据库系统实验模板样例 以下是个简化版的实验报告框架供参考: #### 封面页 - **题目**: 数据库系统实验报告 - **姓名**: XXX - **学号**: YYYYZZZ #### 正文部分 ##### ### 实验目的 通过实际动手实践加深对数据库物理存储、索引机制的理解,掌握基本SQL语法的应用技巧。 ##### ### 二、实验准备 列举所需工具软件清单及初步设置情况... ##### ### 三、实验内容 按照既定计划逐步完成各项任务... ##### ### 四、遇到的问题及解决方案 记录下整个过程中碰到的技术难题及其最终解决办法... ##### ### 五、结论 归纳总结此次经历带来的启发意义.. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值