有含义的列最好不要作为主键,应该用一个没有含义的列做主键,因为有含义就意味着修改,而如果有含义的列做主键,那么修改就要考虑完整性约束问题,因为他作为其他表的外键是耦合度很高的,所以我们需要一个无含义的列来解耦他们。。。只是为了解耦,用存储空间来换取设计上的灵活
数据库设计分析
设计要求,要求设计一个网上购物程序(使用powerdesigner建立模型并编写测试数据),有以下的需求:
1) 管理员可以在后台添加商品,每个商品属于一个商品组
2)可以对管理员进行分组,对每一组进行分别授权,即一个管理员组可以有多个管理员,
一个管理员组有多个权限,一个管理员可以在多个组
3)。用户可以自己购买商品,购买商品时要在订单表中添加信息,一个用户可以同时购买多个商品,
用户可以选择自己所在的地区进行商品的派送
4》用户可以根据自己的购买积分,对商品进行折扣
实现:
一个商品属于一个商品组===》则此时应该建立一个一对多的关系
CREATE TABLE productgroup(
productgroupno NUMBER PRIMARY KEY NOT NULL,
pgname VARCHAR2(50),
desc VARCHAR2(128)
)
CREATE TABLE product(
productno NUMBER PRIMARY KEY NOT NULL,
pname VARCHAR2(50),
price NUMBER,
count NUMBER,
productgroupno NUMBER,
CONSTRAINT productgroup_product_productgroupno_fk FOREIGN KEY(productgroupno)
REFERENCES productgroup(productgroupno) ON DELETE CASCADE
)
管理员可以在后台添加商品===》 说明管理员和商品是有联系的
CREATE TABLE product(
....
managerno VARCHAR2(50),
....
)
可以对管理员进行分组 ===>需要一个管理员表和一个管理员组表
一个管理员组可以有多个管理员,一个管理员可以在多个组
===》是多对多关系,需要一张关系表
分享到:
相关推荐
在本实践课堂中,我们将深入探讨Oracle数据库技术在构建毕业设计选题系统中的应用。"Oracle大型实验-毕业设计选题系统数据库+项目文档"是一个综合性的学习资源,旨在帮助学生或开发者熟悉Oracle数据库管理系统,并...
【华为面试题】涵盖Oracle-DBA数据库管理员、JAVA程序员及架构师的必备知识 在IT领域,数据库管理和开发是核心部分,特别是对于Oracle DBA(数据库管理员)、JAVA程序员和架构师来说,深入理解数据库原理和技术是至...
"oracle-job-master"这个文件名可能指的是与Oracle数据库管理和维护相关的作业或任务,可能包含练习题目、解答示例、实战项目等,旨在帮助学习者将理论知识应用于实际操作中,提高动手能力。通过这些练习,学习者...
Oracle数据库认证大师考试是Oracle认证的考试之一,考试代号为1z0-062,主要考察考生对于Oracle Database 12c的安装和管理相关知识的掌握程度。该考试主要涵盖了数据库实例的参数设置、安全管理、数据库链接的创建等...
Oracle 数据库面试题目汇总 本资源摘要信息将涵盖 Oracle 数据库面试题目汇总的关键知识点,涵盖字符串操作函数、事务概念、查询系统时间、触发器的作用、数字函数、关系数据库系统与文件数据库系统的区别、触发器...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它拥有丰富的功能和强大的性能。在面试中,Oracle相关的知识通常涉及数据库管理、SQL语法、数据类型、函数、触发器、事务处理等方面。下面将对这些知识...
综上所述,“哈工程计算机复试—数据库题目资料”覆盖了数据库的基础概念、数据库管理系统、数据库设计与规范化、数据库安全与备份恢复以及性能优化等方面的知识点。对于准备参加哈工程计算机专业复试的学生来说,...
- 实际上,Oracle数据库中并没有名为`V$DATABASE.FLASHBACK_ON`的列,这可能是一个示例错误。在实际环境中,可以查询其他视图或使用`SHOW PARAMETER flashback`命令来确认闪回数据库是否已启用。 ### 2. ...
使用Oracle数据库管理系统实现上述逻辑结构,通过SQL语句创建和操作表,例如CREATE TABLE语句用于创建表,INSERT INTO语句用于插入数据,UPDATE语句用于更新数据,DELETE FROM语句用于删除数据,而SELECT语句用于...
根据提供的文件信息,我们可以深入分析并提取出与Oracle数据库及OCP认证考试相关的知识点。 ### 知识点一:复合查询中的ORDER BY子句 **背景:** 复合查询(如`UNION`、`INTERSECT`、`MINUS`等)在处理多个查询...
ORACLE数据库期末考试题目及答案.pdf
这篇文章主要涵盖了Oracle数据库管理和Java编程的相关面试题目,适用于DBA(数据库管理员)、JAVA程序员以及架构师等IT专业人士。以下是对其中一些关键知识点的详细解释: 1. **表空间管理**:表空间是Oracle数据库...
Oracle数据库管理包括数据库设计、实施、优化、维护等方面。数据库管理员需要熟悉Oracle数据库的备份和恢复、性能优化、安全管理、故障诊断和解决等技术。 3. Oracle数据库安全: Oracle数据库安全是指保护数据库免...
极详细oracle数据库面试题目汇总,按照这个思路去复习就可以了
1. 理论结合实践:不仅要理解理论知识,还要通过实际操作加深理解,比如在MySQL或Oracle等数据库上进行练习。 2. 模拟试题与历年真题:大量做题是提高解题速度和准确性的关键,尤其是历年真题,它们最能反映考试风格...
5. **分布式数据库和云计算环境下的数据库**:随着云计算的发展,可能会有题目涉及分布式数据库的概念,如CAP定理,以及云数据库的管理和使用。 6. **主流数据库系统**:如Oracle、MySQL、SQL Server、DB2等的特性...
这个认证通常被称为"Oracle Database Foundations Certified Junior Associate",旨在验证考生对Oracle数据库基础的理解和应用能力。以下是对该题库相关知识点的详细说明: 1. **Oracle数据库基础知识**:了解...
在Oracle数据库管理中,PL/SQL是一种强大的编程语言,用于处理数据库操作。以下是一些关于PL/SQL的经典练习题及其涉及的知识点: 1. **声明变量和游标**: - 在PL/SQL中,`DECLARE`语句用于声明变量。例如,`v_emp...
整理mysql、oracle数据库相关 笔试面试题,主要为了应对面试过程中遇到的sql题目 、.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CID,...
3. 数据库设计与优化:包括需求分析、概念设计、逻辑设计和物理设计,以及性能调优,如索引的创建与管理,查询优化器的工作原理等。 4. 数据库管理系统:理解不同DBMS(如Oracle, MySQL, SQL Server等)的特点,...