Oracle-第七章-其他知识

七、其他

1 数据字典

字典:字及对字的解释
数据字典:数据及对数据的解释

(1)系统的数据字典

--主要是数据库对象及对该对象的解释
--是视图 非实际表

user_tables--当前用户下所有表【重要】
dab_tables--数据库管理员管理的表
all_tables--该用户可以看到的所有表
user_tab_columns--当前用户下所有列【重要】

###展示例
select * 
from user_tables t 
where t.OWNER='ZHANGSAN';
--当前账号下所有表

select * 
from dba_tables;

select *
from all_tables t 
where t.OWNER='ZHANGSAN';
--是该用户可以看到的所有表

select * 
from user_tab_columns t 
where t.TABLE_NAME='EMP';

select * 
from user_views;

select * 
from user_indexes;

select * 
from user_tablespaces;

select * 
from user_synonyms;

(2)用户的数据字典(码值表)

是用户自建的一个表
一般有三列
type字典类别,key实际值,value对应含义

2 sqlplus

打开命令行窗口输入以下命令

sqlplus scott/scott;
--登录本机的scott账号

sqlplus / as sysdba;
--登录本机的sys账号

sqlplus scott/[email protected]/orcl;
--  登录远程数据库
-- ip+实例名

sqlplus scott/scott@241;
-- 登录远程也可以直接跟tns名
-- tns指oracle自带的Net Mangement中添加的 服务命名

sqlplus -S scott/scott@241;
--静默登录,不显示前面的一些信息

进入后直接在 SQL> 后输入sql语句(一定要有分号)或命令即可

desc emp;
--打印emp的列的信息;
exit;
--退出sqlplus;

登录dba账号后可以执行下列操作
shutdown immediate;
--关闭数据库
startup;
--关闭数据库

3 范式

1.第一范式 1NF

列不可再分

表中如果有一对多关系,要添加中间表

反例:student的home列

2.第二范式 2NF

要求表中的列必须和表有关系,列必须依赖主键

反例:在student添加一列天气

3.第三范式 3NF

要求表中列必须直接依赖主键,而不是其他列

反例:在student表添加一列dormno,因为dormno直接依赖dormid

有时候为了加快查询速度,违反第三范式(增加冗余)也是一种方式

补充信息

1 拟ID数据

insert into building(id) values(sys_guid());
--sys_guid()被成为全球值,每运行一次数据库就会发生变化,可以用来作为主键ID

2 导入dmp数据库数据

工具-导入表-右下角选择-文件-导入-日志
日志:出现只有DBA才能导入DBA错误
登陆sys-sys-sysdba
在SQL界面输入grant dba to scott
在登陆sccot
重新导入即可

你可能感兴趣的:(数据仓库,数据库)