第4章数据层技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据层技术基础
– 4.1.1数据库系统阶段与数据仓库
• 数据仓库(DW+OLAP+DM)
– – – – 软硬件条件:C/S技术成熟 应用目的:OLAP、决策支持 数据组织方式:多维数据 特点:数据冗余大,资源占用多
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
应用A
应用B
应用C
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
– 2. NoSQL数据库
• NoSQL(Not Only SQL ),泛指非关系型的数据库。其产生就是 为了解决大规模数据集合多重数据种类带来的挑战,尤其是大 数据应用难题。与关系数据库相比,NoSQL数据库适用集群环 境,具有弱结构化(不严格限制数据结构类型)的特征,且不 再使用标准的SQL语言。 • 时下已有许多NoSQL数据库,比如MongoDB、Redis、Riak、 HBase、Cassandra,等等。
-----上海理工大学 张宝明
1)创建一个规则,用以限制Teacher表中的Tage取值范围。 USE mytest
电子商务技术基础
GO 2)创建一个规则,用以限制Teacher表中的Tdept取值范围。
第四章 数据层技术基础 CREATE RULE rule1 USE mytest 3)创建一个规则,用以限制Teacher表中的Taddr取值范围。 AS GO USE mytest @range >= 1 AND @range < 120 CREATE RULE rule2 GO GO AS CREATE RULE rule3 EXEC sp_bindrule @list IN ('经贸系', 'rule1', '会计系'Teacher.Tage' ', '金融系', '计算机系') AS GO @value LIKE '_ -%' EXEC sp_bindrule 'rule2', 'Teacher.Tdept' -- 任意一个字符的后面跟一个连字符和任意多个字符(或没有字符),如沪-淮海街道
应用D
外模式1 模式 内模式 数据库
外模式2
外模式/模式映像 模式/内模式映像
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
Βιβλιοθήκη Baidu
– OLTP(online transaction process):联机事务处 理——对数据库进行联机的日常事务处理 ,即 利用数据库系统,对日常业务的记录数据进行 维护,如进行记录的增加、删除、修改及简单 查询 ; – OLAP(online analysis process):联机分析处理, 即从企业已有的大量数据中提取决策信息并对 之进行管理的服务。
• 数据库平台种类 • 关系数据模型的设计
– 关系数据模型组成要素:数据结构+数据操纵+数据完整性 –实体完整性、域完整性、参照完整性、用户自定义完整性的设计 » 实体完整性:是为了唯一的确定表中的一条记录,因此实体 完整性要求充当主码的字段值应唯一且不能为空 ; » 参照完整性:要求参照字段(参照码)的取值只能取被参照 的字段(某个表中的主码)中的值,或者索性为空; » 域完整性(通过CHECK约束、DEFAULT约束):限制字段的 数据类型、格式、取值范围等 ;
第四章
数据层技术基础
2)将Teacher.Tno、Student.Sno、Course.Cno设为主码;将TC.Tno、TC.Cno、SC.Sno 、SC.Sno设为外码,分别与Teacher、Student、Course建立参照关系。 3)用SQL查询语句完成下列操作: ①查询所有不姓李的教师的姓名、年龄、性别和系名; ②查询选修了“1”号和“4”号课程且成绩介于80分和90分之间的学生的姓名; ③查询会计系男生的平均成绩; ④将一个教师记录(教师号:0899;姓名:岳枫;年龄:28;性别:女;系名:经贸 系;E-mail:yf@citiz.net)插入到Teacher表中; ⑤将一个系学生的平均成绩存入数据库的某个表中;
⑥将岳枫教师的E-mail改为yf@yahoo.com;
⑦删除某个学生(譬如汪莹)的选课信息。
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.2电子商务系统数据层实现
– 4.2.1数据库平台的选择与数据模型的设计
• 数据库种类 • 关系数据模型的设计
– 数据模式定义与SQL查询 – 参照完整性设计 » 规则 :是用来对表中的字段值(或用户自定义的数据 类型中的值)进行限制的一种手段,用于执行一些与 CHECK 约束相同的功能 ; » 例4.2 在SQL Server中利用T-SQL语句进行规则的创建 与绑定
电子商务技术基础
第四章 数据层技术基础
IE
Interne t
Web 服务
核心商务 服务
数据库
表示层
商务逻辑层
数据层
– 数据层的任务
• 负责对数据的管理,也就是对数据进行分类、组织、编码、存储、检 索和维护等
– 数据层的核心
• 数据库系统是数据层的核心,通过数据访问接口与表达层、逻辑层进 行交互。
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.1数据管理技术的几个发展阶段
– 4.1.1手工管理阶段与文件系统阶段
• 手工管理阶段
– – – – – – – – 软硬件条件:无DMA设备、无OS 应用目的:科学计算 数据组织方式:手工 特点:数据不保存、数据无结构、数据无独立性、数据不能共享 软硬件条件:有DMA设备、有OS 应用目的:科学计算、数据管理 数据组织方式:文件系统 特点:数据可保存、结构化不强、独立性较差、数据不能共享
• 文件系统阶段
-----上海理工大学 张宝明
电子商务技术基础
第四章
• 数据库系统阶段
– – – – 软硬件条件:大容量快速存储设备、多用户多任务OS 应用目的:科学计算、OLTP、多媒体应用 数据组织方式:数据库三级模式 特点:数据保存在数据库、数据高度结构化、数据高度独立、数 据共享、冗余小、数据统一控制 – 缺点:不能满足OLAP的需求
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.1.4 NoSQL数据库
– 1.关系型数据库中存在的问题
• 此外,随着网络应用程序的规模日渐变大,需要储存更多的数 据、服务更多的用户以及需求更多的计算能力。为此需要不停 的进行扩展。扩展分为两类:一种是纵向扩展,即购买更好的 机器,更多的磁盘、更多的内存等等;另一种是横向扩展,即 购买更多的机器组成集群。由于单机器性能提升需要巨额的开 销并且有着性能的上限,因此,在巨大的规模下,纵向扩展发 挥的作用并不是很大,更多的还是依赖横向扩展。在此情况下, 就需要开发新的数据库,因为关系数据库使用共享存储,并不 能很好的运行在集群上。
GO EXEC sp_bindrule 'rule3', 'Teacher.Taddr'
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.2电子商务系统数据层实现
– 4.2.1数据库平台的选择与数据模型的设计
• 数据库种类 • 关系数据模型的设计
– 数据模式定义与SQL查询 – 参照完整性设计 » 规则 » 默认值 :默认值对象的作用类似于建表时的 DEFAULT约束,对未赋值的字段赋予初值,其管理和 使用与规则比较相似,但优先级低于规则。 » 例4.3 定义一个默认值,使教师表中的Ttel初值为 unkown。
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.1.4 NoSQL数据库 • 1.关系型数据库中存在的问题
– 现代编程语言,例如Python、Ruby、Java、.Net等,有一个共同的 特性——面向对象,而主流的数据库,如MySQL、PostgreSQL、 Oracle以及SQL Server,等,却有另外一个共同的特性——关系型 数据库。这样就开发相关应用时,就会产生阻抗失配(Impedance Mismatch)问题:存储结构是面向对象的,但是数据库却是关系 的,所以在每次存储或者查询数据时,都需要做转换。为了简化 处理过程,出现了类似Hibernate、Entity Framework等ORM框架, 但是在对查询有高性能需求时,这些ORM框架难免也会捉襟见肘。
-----上海理工大学 张宝明
数据仓库:
电子商务技术基础
W.H.Inmon认为:数据仓库是支持管理决策过程的、面向主题的、集成的、随时间变化 的、但信息本身相对稳定的数据集合。包括了数据仓库生成技术(DW)、联机分析处理( 从数据仓库中提取决策数据)和数据挖掘技术(DM,从数据库和数据仓库中进行深度数据 第四章 数据层技术基础 分析,以实现决策支持的各种要求 )三个方面的内容。
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.2电子商务系统数据层实现
– 4.2.1数据库平台的选择与数据模型的设计
• 数据库种类 • 关系数据模型的设计
– 数据模式定义与SQL查询 » 例4.1 数据结构的定义及SQL查询。
-----上海理工大学 张宝明
电子商务技术基础
第四章 – 2. NoSQL数据库 数据层技术基础
• NoSQL可以将它们分为四类
– (1)键值(Key-Value)存储数据库,如Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB等。这一类数据库主要会使用到一个哈希表,这 个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于 IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查 询或更新的时候,Key/value就显得效率低下了。 – (2)列存储数据库,如Cassandra, HBase, Riak等。这部分数据库通常是 用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向 了多个列。这些列是由列家族来安排的。 – (3)文档型数据库,如CouchDB, MongoDb,SequoiaDB等。文档型数据 库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相 类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格 式存储,比如JSON。文档型数据库可 以看作是键值数据库的升级版,允 许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。 – (4)图形数据库,如Neo4J, InfoGrid, Infinite Graph等。图形结构的数据 库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模 型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言 (SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有 -----上海理工大学 张宝明 REST式的数据接口或者查询API。
Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,系名Sdept) Course(课程号Cno,课程名Cname,学分数Ccredit,课时数Chour) TC(教师号Tno,课程号Cno,任课学年Ayear,任课学期Semester,评教等级Rating) SC(学号Sno,课程号Cno,成绩Grade)
-----上海理工大学 张宝明
1 )在 SQL Server 中建立一个数据库 mytest ,包含以下 5 个表:教师 Teacher 、学生 电子商务技术基础 Student、课程Course 、授课TC、选课SC,其关系模式如下:
Teacher(教师号Tno,姓名Tname,年龄Tage,性别Tsex,系名Tdept,电话号码Ttel,邮件地址E-mail,家庭地 址Taddr);
电子商务技术基础
第四章 数据层技术基础
– 与RDBMS相比,NoSQL数据库具有五大特点:
• • • • • 1)弹性扩展 2)大数据 3)告别DBA 4)经济性 5)灵活的数据模型
-----上海理工大学 张宝明
电子商务技术基础
第四章 数据层技术基础
• 4.2电子商务系统数据层实现
– 4.2.1数据库平台的选择与数据模型的设计