本节主要目的

1.复习
2.区分视图和物理存储
3.物理设计的替换

基本概念

schema-Evolution:在数据库还处于工作状态良好的情况下,修改数据库的Schemas
Sparsity:关系表中得信息很稀疏,即含有大量的NULL值

E-Commerce数据存储中常见的问题

1.属性过多
2.sparsity,NULL值使数据虚胖
3.schema-Evolution经常发生
4.访问数据库时经常只调用少数的几项属性

多种的数据表达方式

Horizontal:

Eid1234A1a⊥⊥bA2bc⊥⊥A3⊥dad

\begin{array}{c|c|c|c} \hline \text{Eid}&\text{A1}&\text{A2}&\text{A3}\\ \hline 1&a&b&\bot\\ \hline 2&\bot&c&d\\ \hline 3&\bot&\bot&a\\ \hline 4&b&\bot&d\\ \hline \end{array}
Vertikal:

Oid1122344KeyA1A2A2A3A3A1A3Valabcdabd

\begin{array}{c|c|c} \hline Oid&Key&Val\\ \hline 1&A1&a\\ \hline 1&A2&b\\ \hline 2&A2&c\\ \hline 2&A3&d\\ \hline 3&A3&a\\ \hline 4&A1&b\\ \hline 4&A3&d\\ \hline \end{array}
Binary:

Eid1234A1a⊥⊥b

\begin{array}{c|c} \hline \text{Eid}&A1\\ \hline 1&a\\ \hline 2&\bot \\ \hline 3&\bot \\ \hline 4&b\\ \hline \end{array}

Eid1234A2bc⊥⊥

\begin{array}{c|c} \hline Eid&A2\\ \hline 1&b\\ \hline 2&c\\ \hline 3&\bot \\ \hline 4&\bot \\ \hline \end{array}

Eid1234A3⊥dad

\begin{array}{c|c} \hline Eid&A3\\ \hline 1&\bot \\ \hline 2&d\\ \hline 3&a\\ \hline 4&d\\ \hline \end{array}
//各种表达方式各自有什么优势呢???
Vertikal的优势在于,它的内容不包括NULL值//Aber pathologischer Fall???
Binary有什么优势呢???不知啊???
//对应的物理层有什么区别也是不知啊???S9

不同表达方式之间的装换

join

left:

A12B23

\begin{array}{|c|c|} \hline A&B\\ \hline 1&2\\ \hline 2&3\\ \hline \end{array}
right:

B34C45

\begin{array}{|c|c|} \hline B&C\\ \hline 3&4\\ \hline 4&5\\ \hline \end{array}
Natural Join:

A2B3C4

\begin{array}{|c|c|c|} \hline A&B&C\\ \hline 2&3&4\\ \hline \end{array}
left:

A12B23C⊥4

\begin{array}{|c|c|c|} \hline A&B&C\\ \hline 1&2&\bot \\ \hline 2&3&4\\ \hline \end{array}
right:

A2⊥B34C45

\begin{array}{|c|c|c|} \hline A&B&C\\ \hline 2&3&4\\ \hline \bot&4&5\\ \hline \end{array}
Outer Join:

A12⊥B234C⊥45

\begin{array}{|c|c|c|} \hline A&B&C\\ \hline 1&2&\bot \\ \hline 2&3&4\\ \hline \bot &4&5\\ \hline \end{array}
Outer join与natural join的区别在于Outer join的原项都保持不变
除此之外还有left Outer Join:Left表保持不变,right Outer Join:right表保持不变

v2h与h2v

v2h就是从vertical转换成horizontal的意思
v2hkv2h^k表示只转换前k个属性
v2h解悉:
πEid(V)\pi_{Eid}(V)
leftjoin(πEid(V),πEid,Val(σkey=′A1′(V))left join(\pi_{Eid}(V),\pi_{Eid,Val(\sigma_{key='A1'}(V)})
leftjoin(leftjoin(πEid(V),πEid,Val(σKey=′A1′(V))),πEid,Val(σKey=′A2′(V)))left join(left join(\pi_{Eid}(V),\pi_{Eid,Val}(\sigma_{Key='A1'}(V))),\pi_{Eid,Val}(\sigma_{Key='A2'}(V)))
v2hk(V)=leftjoin(πEid(V),leftjoinki=1(πEid,Val(σKey=′A′i(V))))v2h^k(V)=left join(\pi_{Eid}(V),left join_{i=1}^k(\pi_{Eid,Val}(\sigma_{Key='A_i'}(V))))
这中解释并不能直接翻译成Relational Algebra,因为他存在三个问题
1.在R-A中没有上下坐标的表示方法
2.在R-A中也没有表示索引i
3.就是重名问题
h2v的解析:
πEid,′A1′,A1(σA1≠′⊥′(H))\pi_{Eid,'A1',A1}(\sigma_{A1\neq'\bot'}(H))
πEid,′A2′,A2(σA2≠′⊥′(H))\pi_{Eid,'A2',A2}(\sigma_{A2\neq'\bot'}(H))
h2vk(H)=(⋃ki=1πEid,′A′i,Ai(σAi≠′⊥′(H)))∪(⋃ki=1πEid,′A′i,Ai(σ∧ki=1Ai=′⊥′(H)))h2v^k(H)=(\bigcup_{i=1}^k \pi_{Eid,'A_i',A_i}(\sigma_{A_i\neq '\bot'}(H)))\cup(\bigcup_{i=1}^k \pi_{Eid,'A_i',A_i}(\sigma_{\land_{i=1}^{k}A_i='\bot'}(H)))
//其实第二部分不了解是什么意思???
同样的h2v也存在和v2h一样的问题
那么应该怎么把他们改写成Relational Algebra呢???
目前还没搞懂啊????

数据库应用-E commerce管理相关推荐

  1. Oracle数据库物理存储结构管理

    1.实验目的 (1)掌握Oracle数据库数据文件的管理. (2)掌握Oracle数据库控制文件的管理. (3)掌握Oracle数据库重做日志文件的管理. (4)掌握Oracle数据库归档管理. 2. ...

  2. 在计算机上创建一个本地用户账户,在工作组中,默认时每台Windows计算机的( )能够在本地计算机的SAM数据库中创建并管理本地用户账户。...

    在工作组中,默认时每台Windows计算机的( )能够在本地计算机的SAM数据库中创建并管理本地用户账户. 更多相关问题 Working with the foreigners ____ me ___ ...

  3. php版redis插件,SSDB数据库,增强型的Redis管理api实例

    php版redis插件,SSDB数据库,增强型的Redis管理api实例 SSDB是一套基于LevelDB存储引擎的非关系型数据库(NOSQL),可用于取代Redis,更适合海量数据的存储. 另外,r ...

  4. oracle实验报告2:: Oracle数据库物理存储结构管理(含实验小结)

    目录 实验目的 实验设备及器材 实验内容 实验步骤 实验过程 实验小结 实验目的 1.熟悉Oracle数据库物理存储结构: 2.掌握Oracle数据库数据文件的管理: 3.掌握Oracle数据库控制文 ...

  5. 【T-SQL】一、数据库的创建与管理

    一.数据库的创建与管理 文章目录 一.数据库的创建与管理 (一)创建数据库 完整语法格式 选项说明与设置 例题:图书馆管理数据库 例题:学生管理数据库 (二)查看数据库 数据库基本信息 查看数据库信息 ...

  6. 数据库之数据库的部署与管理

    数据库是用来存放数据表格的 1.数据库的安全初始化 <1>yum install mariadb-server -y      #下载数据库软件 <2>systemctl st ...

  7. 数据库语言与事务管理

    数据库查询 1.use [库名]/describle[表名] /desc[表名] desc/describle作用一样,desc 是describe的缩写,都是查询表的数据结构, use切换数据库名称 ...

  8. 管理有方!华为云数据库为医药行业管理加速

    摘要:为了持续打造核心竞争力,英克康健联合华为云,基于云数据库RDS for PostgreSQL全新打造了一个高性能.大容量.高可用的SaaS医药管理系统,助力万千药企业务迈上新台阶. 乘借数字化东 ...

  9. 使用IndexedDB数据库实现手机通讯录管理功能

    ** 使用IndexedDB数据库实现手机通讯录管理功能 ** 实现要求 1.创建phoneInfo数据库,创建phone对象仓库,用于保存每个用户的通讯信息. 2.手机通讯信息结构为姓名name.电 ...

最新文章

  1. ArrayList的内存泄露
  2. 辽宁大连花灯闹新春 逾万民众赏灯迎新年
  3. 超图iClient 3D 入门程序 - 1
  4. python的replace第i个位置_《原神》第80个绯红玉髓位置一览 第80个绯红玉髓如何获取...
  5. django orm 常用查询筛选
  6. discuz nt 安装,完全攻略。
  7. 2021年浙江省高考成绩查询哪里快,2021年浙江高考成绩排名及成绩公布时间什么时候出来...
  8. Codeforces 1174E Ehab and the Expected GCD Problem
  9. java中连接字符串_Java中几种方式连接字符串的方法
  10. Linux下的编曲软件,MuseScore(免费作曲编曲软件) V3.0.1 Linux版
  11. C语言冒泡排序算法详解
  12. flashFXP V4.0 烈火汉化绿色版
  13. MSP430F149用模拟SPI和FM25CL640通信
  14. wifi认证过程wpa/wpa2
  15. 云计算工程师面试题集锦,云计算面试题及答案
  16. Flutter画中画自定义画中画
  17. BZOJ4372: 烁烁的游戏(动态点分治)
  18. Apache HBase_GJF_MBY
  19. Arch linux uefi 启动盘,用UEFI安装ArchLinux 20140105
  20. 初学Python可能会遇见的小程序

热门文章

  1. 青软实训.NET学习笔记(5)---泛型
  2. 弱引用是什么,和其他引用有啥区别?
  3. 2022-2028全球汽车座椅通风系统行业调研及趋势分析报告
  4. Ambari 2.7.3 + HDP 3.1.0 安装
  5. 使用wget从某云端硬盘下载文件
  6. hi3635c uboot 初始化 nor flash (XM25QH128AHIG)
  7. 2021-11-25 工作记录--LayUI-让select下拉菜单的已选值清空
  8. 脉冲神经网络原理及应用,脉冲神经网络发展前景
  9. 如何为使用Python语言而辩论
  10. Mybatis org.apache.ibatis.ognl.NoSuchPropertyException:xxx问题解决