时间:2021-07-01 10:21:17 帮助过:2人阅读
数据库基本概念
数据库(Database, DB)
数据库管理系统(Database Management System, DBMS)
数据库管理员( Database Administrator, DBA )
数据库系统( Database System, DBS )
关系型数据库(Relationship Database, RDB)
关系型数据库管理系统(RDBMS)
SQL语言(Structured Query Language)
使用关系模型的数据库语言,用于和各类数据库的交互,提供通用的数据管理和查询功能:
改变数据库结构
更改系统安全设置
设置用户对数据库或表的许可权限
在数据库中检索需要的信息
对数据库的信息进行更新
常用SQL指令:
SELECT、INSERT、DELETE、UPDATE、CREATE、DR
当前流行的大型关系型数据库: Oracle、IBM DB2、SQL Server、SyBase、Informix等。
实体间联系:
一对一关系(1:1)
两个实体集A和B,若A中的每个实体至多和B中的一个实体有联系,反之,B中的每个实体至多和A中的一个实体有联系,称A对B或B对A是一对一关系。
一对多关系(1:n)
两个实体集A和B,如果A中的每个实体可以和B中的0~多个实体有联系,而B中的每个实体至多和A中的一个实体有联系,则称A对B为一对多关系。
多对多关系(m:n)
两个实体集A和B,若A中的每个实体可与和B中的多个实体有联系,反之亦然,称A对B或B对A是多对多关系。
关系型数据库基本术语:
关系:整个二维表
关系名:表格名称
元组:行数据(记录)
属性:列数据(字段/分量)
属性名:列名称(字段名)
主键:唯一确定元组的属性组(关键字)
域:属性的取值范围
关系模式:关系名(属性列表)
如:学生(学号,姓名,性别,系别,年龄,籍贯)
约束
域完整性约束
实体完整性约束
参照完整性约束
数据库(Database)
是磁盘上存储的数据的集合(包括配置文件、数据文件、日志文件和控制文件等)
数据库实例(Database Instance)
运行在数据库文件上的一组Oracle后台进程/线程以及一个共享内存区。数据库可以由实例装载和打开。
Oracle实时应用集群( RAC, Real Application Clusters)
Oracle并行服务器架构/RAC架构
数据库服务名( Database Service_Name)
从oracle8i开始引入,数据库客户端与服务器端连接时建议指定其数据库服务名,而不是数据库实例名。
网络服务名(Net Service Name)
数据库在客户端的逻辑表示,包含数据库服务名和网络地址两方面信息
监听器(Monitor)
SQL语句分类:
Select查询语句
DML语句(数据操作语言)
Insert、Update、Delete、Merge
DDL语句(数据定义语言)
Create、Alter、Drop、Truncate
DCL语句(数据控制语言)
Grant、Revoke
事务控制语句
Commit 、Rollback、Savepoint
SQL 语言大小写不敏感。
SQL 可以写在一行或者多行
关键字不能被缩写也不能分行
各子句一般要分行写。
使用缩进提高语句的可读性。
数字和日期使用的数学表达式。
SELECT last_name, salary, salary + 300
FROM employees;
乘除的优先级高于加减。
同一优先级运算符从左向右执行。
括号内的运算先执行。
空值是无效的,未指定的,未知的或不可预知的值。
空值不是空格或者0。
列的别名:
重命名一个列。
便于计算。
紧跟列名,也可以在列名和别名之间加入关键字‘AS’,以便在别名中包含空格或特殊的字符并区分大小写。
在emp表中查询相关信息
select * from emp;
select * from emp where ename like‘%*_%‘ escape‘*‘;
select * from emp where deptno=30;
select empno,ename from emp where job=‘manager‘;
select * from emp where comm>sal;
select sal+comm,ename from emp;
select * from emp where(deptno=10 and job=‘MANAGER‘)or(deptno=20 and job=‘CLERK‘);
select * from emp where deptno=10 and job not in(‘MANAGER‘,‘CLERK‘)and sal>=2000;
select distinct job from emp where comm is not null and comm>0;
select * from emp where comm<500 or comm is null;
select ename from emp order by hiredate;
emp表
SQL
标签:后台 oracle 表格 llb comm clerk tab 日志 structure