Oracle从零开始-关系型数据库介绍
Oracle数据库系统是世界领先的数据库管理系统,Oracle数据库一起功能强大、配置灵活以及安全性高被基金、银行等金融行业所首选。
目前数据库岗位最主要是两种:一类是数据库管理人员,简称DBA;一类是数据库开发人员。
DBA主要的工作是负责日常的数据看看维护和性能优化管理,Oracle系统在数据库系统中算是比较庞大、复杂的,要成一个合格的DBA需要掌握很多的专业知识和Oracle体系内的知识,门槛较高,难度也比较大,当然收入也是很高的。另一类数据库开发人员,主要工作是使用数据库提供的SQL语言来操作数据库中的数据对象,不需要对数据库提醒有较深入的了解,入门比较容易。
1. 什么是关系型数据库
关系型数据库简单的理解就是,使用关系或者二维表存储信息(二维表存储信息可类似于Excel中的知道横纵轴的列信息可以确定具体的消息)。
2. 数据库系统范式
为了规范化关系型数据库模型,关系型数据库系统在设计师必须醉熏一定的规则,这种规则就是关系型数据库系统范式。范式的目的是降低数据冗余,让数据库设计结构合理。常用的范式有3种:
第一范式(1NF):如果字段中的值已经是无法在分割的值。例如:在一个用户表中的姓名字段,即包括中文姓名有包括英文姓名,这就意味着这个姓名字段是可以继续拆分的,那么这就是不满足第一范式的;需要将字段拆分成中文名称和英文名称两个字段,每个字段的存储数据职责单一且不能再拆分才可以。
第二范式(2NF):表要具有唯一性的主键列。首先要确定已有的设计是满足第一范式的,第二范式是在第一范式的基础上经一部增强,在数据库设计的时候一般会有唯一性的逐渐来表示每一行数据(即根据某一个值可以确定有且仅有一条数据)。例如:每个人的身份证号,每个人有且仅有一个,根据身份证号只能确定一个人。
第三范式(3NF):表中的字段不能包含其他表中 已出现的非主键字段。第三范式是在第一第二两个范式基础上的进一步增强,主要的作用是用来降低数据冗余。例如:有一个子女表,一个父亲表,子女表中有个一个父亲表主键的字段,要查询子女的父亲名称,要通过子女表中父亲表的主键去父亲表中查询父亲姓名,如果子女表中又包含了一个父亲名称的字段,那么这个表中的字段就是已经在其他表中以及出现的非主键字段,就造成了数据的冗余,不符合第三范式,需要重新设计。
三范式是设计出清晰易懂,优秀的数据库的基础。当然由于每个公司开发规范不同,三范式不是强制的,所以开发人员过程中会有些设计违反了三范式,这样的现象也很常见。不过推荐大家尽可能的按三范式要求开发。
3. SQL语句
SQL语言的全程是结构化查询语言(Structured Query Language),它是高级的非过程化编程语言,允许用户在高层数据结构上工作,用户使用SQL用于操纵数据库。
SQL语言主要又分为如下两大类:
DML数据库操作语言,主要是完成数据的增删改查的操作等。开发人员用的比较多
DDL数据定义语言,主要用来创建或修改表、视图、存储过程即用户等。DBA用的比较多,一般生产环境也只有DBA才有操作权限
如有错误,请指正,谢谢。
Oracle从零开始-关系型数据库介绍相关推荐
- YugaByte DB 分布式 开源 关系型数据库介绍
YugaByte DB 分布式 开源 关系型数据库介绍 什么是YugaByte DB? YugaByte DB是一个高性能的分布式SQL数据库,用于为全球互联网规模的应用程序提供支持.YugaByte ...
- mariadb导入sql数据_「译」关系型数据库介绍
原文来自MariaDB官网的基础知识储备库中关系型数据库的介绍,原文链接:https://mariadb.com/kb/en/library/introduction-to-relational-da ...
- Oracle从零开始5——数据库定义操作
5.1 创建和管理表 在Oracle中之前使用emp.dept等都是系统内建好的表,在SQL语法只能够同样支持了表的创建语句,要想创建表,则应该首先了解Oracle中最常使用到的几种数据类型 1)常用 ...
- Oracle从零开始4——数据库更新操作
数据库的主要操作分为两种: 查询操作:SELECT 更新操作:INSERT.DELETE.UPDATE 此时为保存原始的emp表的信息,在进行增加.修改.删除操作之前,先将此表复制一份 此语句执行之后 ...
- spark Java oracle,spark2.x由浅入深深到底系列六之RDD java api用JdbcRDD读取关系型数据库...
课程咨询以及领取大额优惠请加微信:bigdatatang01 以下是用spark RDD java api实现从关系型数据库中读取数据,这里使用的是derby本地数据库,当然可以是mysql或者ora ...
- Redis基于内存非关系型数据库
Redis基于内存非关系型数据库 Redis:非关系型数据库介绍 特点及优点 1.开源的,使用C编写,基于内存且支持持久化,一般内存的东东关机重启就消失,但它不会. 2.高性能的Key-Value的N ...
- 关系型数据库管理系统和SQL介绍
1. 关系型数据库管理系统的介绍 数据库管理系统(英语全拼:Relational Database Management System,简称RDBMS)是为管理关系型数据库而设计的软件系统,如果大家想 ...
- mysql支持非关系_说下oracle、mysql、非关系型数据库中的索引结构?
谢邀~~树懒君悉心整理了一篇索引结构方面的内容,跟各位知友分享分享~ Oracle 索引的数据结构:B-TreeOracle 数据库使用 B-trees 存储索引,来加速数据访问.若没有索引,你必须顺 ...
- db2 mysql sql server_下文给大家介绍mysql数据库介绍,具体详情如下所示:MySQL数据库:Oracle、DB2、SQL Server、MySQL、access、mang...
下文给大家介绍mysql数据库介绍,具体详情如下所示: MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 ...
最新文章
- VS2019 远程调试
- python 爬虫之爬取大街网(思路)
- 面试 4 个月,最终入职大厂经验分享!
- Hystrix默认超时时间
- 《编译原理》实验预习报告——TINY语言的词法分析
- 为类定义后构造函数的最小示例,使用 boost::signals2::deconstruct 作为它的工厂函数
- 前端攻略系列(二) - 前端各种面试题
- c语言枚举法求满射函数,实变函数论讲义
- java 注解 jpa_详解Spring Data JPA使用@Query注解(Using @Query)
- git revert reset
- 香港科技大学理学院数据建模硕士学位项目MSc DDM 项目介绍×申请指南
- Java中汉字生成拼音首拼和五笔码实例
- 【大数据干货】基于Hadoop的大数据平台实施——整体架构设计
- Ubuntu18.04 谷歌浏览器安装商店助手
- 计算机显示不出桌面的文件夹,win10电脑保存文件路径不显示桌面怎么办?
- vulnstack4渗透-内网篇
- 电商平台--Mysql主从搭建(2)
- matlab计算π,如何计算π的值(MATLAB)
- Linux目录与管理
- php startwith endwith
热门文章
- ls: 显示目下的内容及相关属性信息
- [BUUCTF-pwn] wdb_2018_semifinal_pwn2
- cmd - 切换目录命令cd失效(切换目录失效)
- 计算机 打开3389端口,3389端口修改和打开【图文教程】
- 求100~200间的素数以及水仙花数
- 给openWrt安装管理界面中文包,顺带安装新界面风格,亲测有效
- 走进web(关于web、web1.0、web2.0、web3.0)
- 云队友丨追求复利人生,升级思维模型的四个层级
- An unexpected error occurred: “EACCES: permission denied, mkdir
- 复杂命令行参数gcc的-Wl的含义,注意是字母l不是数字1