本文主要是介绍SQL-Oracle10数据库设计范式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据库设计范式工具 PowerDesigner
这个程序没法写,包括查询语句也会变得复杂。
雇员-部门的关系。
包括整型、实数、字符型、逻辑型、日期型等。
插入以下测试数据:
INSERT INTO person(pid,name,info) VALUES (1111,'张三','1983-11-23出生,现在的住址是朝阳区');
实际上对于人员的信息来看,由以下几部分组成:
第一范式:每个字段不可再分,所以以上脚本可以修改为:
CREATE TABLE person(
) ;
注意点:
第二范式:
(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),
也即所有非关键字段都完全依赖于任意一组候选关键字。
使用第二范式:
CREATE TABLE student(
) ;
CREATE TABLE course(
) ;
CREATE TABLE selectcourse(
) ;
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO selectcourse(stuno,cid,grade) VALUES ('s001','ca',79.0)
INSERT INTO selectcourse(stuno,cid,grade) VALUES ('s001','ca',77.0)
INSERT INTO selectcourse(stuno,cid,grade) VALUES ('s001','ca',77.0)
以上设计解决了问题:
也就是说现在完成了一个多对多的关系。
第三范式
学院电话,此时肯定不能使用第一范式,但是现在如果使用的是第二范式呢?
CREATE TABLE student(
) ;
CREATE TABLE college(
) ;
CREATE TABLE studentcollage(
) ;
多个学院会同时有同一个学生在上课。
实际上,此设计就完全类似于部门和雇员表的设计结构。
CREATE TABLE student(
) ;
以上的三个范式只能算是参考,如果真的按照此种方式设计数据库,则有够累,
数据库设计的唯一原则:
这篇关于SQL-Oracle10数据库设计范式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!