【oracle入门】数据库系统范式

为了规范关系数据模型,关系型数据库系统在设计时必须遵守一定的规则,这种规则成为关系型数据库范式。

1.第一范式1NF

如果字段中的值已经是无法再分割的值,则符合第一范式,即1NF。

2.第二范式2NF

表要具有唯一性的主键列。第二范式要求数据库表中的每一个实例或行必须可以被唯一地区分,为了实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。

3.第三范式3NF:

表中的字段不能包含在其他表中以出现的非主键字段。第三范式是在前两个范式的基础上的进一步增强,主要用来降低数据的冗余。

范式主要用来规范数据库的设计,使得设计出来的数据库结构清晰,简洁移动,避免了数据冗余和操作的异常。在设计数据库模型时,灵活地应用范式是创建一个优秀的数据库系统的基石。

时间: 2024-10-24 12:34:51

【oracle入门】数据库系统范式的相关文章

oracle入门(1)——安装oracle 11g x64 for windows

[本文简介] 最近因为一个项目的需要,从零学习起了oracle,现在把学到的东西记录分享一下. 首先是安装篇,在win8 装10G 一直失败,网上各种方法都试过了,最后不得不放弃,选择了11G. 11G的安装很简单,基本是“下一步”——“完成”的模式,本文只是介绍哪些步骤需要注意一下和里面相应名词的解释, 以后可能要用到这些信息. [安装典型步骤] 1.典型安装 这里需要记住被红圈圈起来的 “全局数据库名” 和 “管理口令” (1)全局数据库名:要与下面的SID区分开来,是数据库真正的唯一标识,

oracle入门(2)—— 使用图形工具navicat for oracle

[本文介绍] 本文将介绍如何使用图形工具navicat for oracle连接本地数据库 以及远程访问 服务器数据库. [下载地址] http://www.navicat.com.cn/download/navicat-for-oracle [11G版本访问本地数据库] 安装navicat for oracle——打开连接——弹出新建连接——输入如图所示 , 其中有几个地方需要注意的 (1)端口:因为是本地服务器,所以可用填入 loaclhost 或者是 127.0.0.1 (2)Servic

oracle入门(8)——实战:支持可变参数、多种条件、多个参数排序、分页的存储过程查询组件

[本文介绍] 学了好几天,由于项目需要,忙活了两天,写出了个小组件,不过现在还只能支持单表操作.也没考虑算法上的优化,查询速度要比hibernate只快了一点点,可能是不涉及多表查询的缘故吧,多表的情况下才更快. 经非专业的测试,在有分页的情况下,在300万条数据里面查询的时间保持在0.1秒内.相同查询条件+分页的情况下,hibernate 用时0.3秒内. 不分页的条件下,查出来的数据越多,时间越长,时间长的话,跟hibernate相相比就没什么优势了. [思路] 我的思路是从java传来”字

oracle入门(3)——oracle服务解释

[本文介绍] oracle不像mysql,安装后之后一个服务,如果mysql连接不上,打开其服务就行.oracle是有多个服务,哪些服务要开,哪些服务没必要开,对新手来说未必不是一个难点.下面对oracle的服务做一下总结. 以下内容来源于百度,发表该随笔只为备忘,感谢最先发表者(追溯不到). [oracle服务介绍] (1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数搜索据库.如果安装了一个数据库,它的缺省启动类型为自动.服务进程为ORACLE.EXE,参数文件i

oracle入门(4)——少而常用的命令

[本文介绍] 本文将介绍使用oracle的常用命令,不是”大全“,但少而实用. [命令介绍] 描述: 命令: [数据库]   (1)查看编码格式: select userenv('language') from dual; (2)设置编码格式为utf-8 (1) --先查看oracle数据库字符集:  select userenv('language') from dual; 查询结果: SIMPLIFIED CHINESE_CHINA.AL32UTF8 (2) --修改oracle数据库字符集

oracle入门(5)——java连接oracle数据库

[本文介绍] 前面几篇说了那么多,最终还没讲到如何用java连接数据库,本文实用一点,讲讲如何连接数据库. [java连接oracle数据库] 1.导入jdbc驱动:看到这里,就忙着上网找驱动?不,安装了oracle就有自带驱动了,路径在:安装目录\product\11.2.0\dbhome_1\jdbc\lib,下面有多个jar包,选择适合自己的一个(最简单的办法就是导入项目后看看能连接不,能连接的就是适合的驱动) 2.代码: 关于url:@后面是IP:端口,这两个不知道怎么查的请看博文:ht

oracle入门(7)——存储过程

[本文介绍] 熟悉了PL/SQL语法后,实现java调用oracle存储过程才是主要目的.本文将介绍如何写存储过程,java如何调用存储过程. [存储过程介绍] 抛开专业的描述,存储过程就是在数据库里面写了一些函数,我们在代码(如java)里面调用这些函数实现对数据库的操作,避免了数据库对SQL语句的解析,对于需要发送多条SQL语句才能完成的数据库操作功能来说,速度上升了一个档次.不过程序在操纵数据库这一块 的维护性会降低,因为存储过程是写在数据库,不是写在程序里. [如何写有能传值 并且 有返

oracle入门(6)——PL/SQL常用语法

[本文介绍] 本文不是”语法大全“,只是记录下作项目里自己常用的一些语法.方便查询. [语法] [输出]   (1)输出语法 DBMS_OUTPUT.PUT_LINE( ) [定义]   (1)定义变量: ...... as 变量名 类型(长度) begin ...... 例如: (2)定义变量 ,类型 依赖其他变量的类型 例如: 这样,改了name的类型,returnValue类型也跟着改变. (3)自定义类型(类似C语言的结构体)每次只能拿一条数据,不然会的报错. 例如: (4)以“表”做为

oracle入门(个人参考笔记)

Oracle入门 数据库服务器.数据库和表的关系 所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库. 为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据. 数据库服务器.数据库和表的关系如图所示: oracle管理工具的介绍(1) sql*plus是oracle自带的工具软件,主要用于执行sql语句,pl\sql块. 如何使用: 1)在开始->程序->oracle oradb_home10