商务能力实战篇——数据库主要内容•1导入–数据库的作用、基本概念介绍•2数据库设计–实体概念模型,关系模型•3ACCESS数据库操作–表的操作和内容的操作导入•土豪老王–住在苏州小城里–家中有屋又有田–开着小作坊–生活乐无边•土豪老王–谁知那小作坊–销路非常好–规模扩大了–材料难整了solomon企业供应链报告截止时间2005.10.14混凝土原材料供应商类型名称ID名称单位库存ID名称1家用B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/A总量4.52商用B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水19999999N/A总量43斑点花纹涂装B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/AD砂砾3200444JuniperSand&Gravel总量7.54大理石B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/AE大理石2100499A&JBrothers总量6.55贝壳B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/AF贝壳2.525499A&JBrothers总量7数据组织的作用•管理者需要存储数据•一种涉及企业的客户、竞争对手、合作伙伴、竞争环境和企业内部运作的知识•以便有能力制定有效的、重要的商业战略决策•管理者需要处理数据——商务智能–帮助企业判断信息的准确内涵–构建完善的业务流程–确保企业的竞争优势–客户关系管理、供应链关于数据组织的常见概念•数据库–以一定的组织方式存储在一起的相关数据的集合–关系型数据库——以一系列存在逻辑关系的二维表形式存储信息的数据库•数据仓库–特殊形式的数据库•OLTP(onlinetransactionprocessing)–联机事务处理–实时地采集处理与事务相连的数据以及共享数据库和其它文件的地位的变化•OLAP(onlineanalyticalprocessing)–联机分析处理–一种提供特定决策所需的信息OLTP和OLAP的区别2数据如何存储•实体联系模型•关系模型solomon企业供应链报告截止时间2005.10.14混凝土原材料供应商类型名称ID_Y名称单位库存ID_G名称1家用B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/A总量4.52商用B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水19999999N/A总量43斑点花纹涂装B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/AD砂砾3200444JuniperSand&Gravel总量7.54大理石B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/AE大理石2100499A&JBrothers总量6.55贝壳B水泥浆1400412WesleyEnterprisesC沙子21200444JuniperSand&GravelA水1.59999999N/AF贝壳2.525499A&JBrothers总量7实体联系模型•实体–现实世界中存在的事物或对象。–可以是抽象的概念,也可以是实在的事物–可以是概括的总体,也可以是具体的对象–总体分为异质总体和同质总体。数据文件对同质总体进行描述,而数据库则是异质总体。•上表中的实体•联系–1、各个事物之间是普遍联系的。换句话说,就是实体之间的联系。–2、实体之间的联系也是实体•上表中的联系•属性–指实体具有的某种特性,可以描述实体所具有的的某一个方面。–比如学生:学号、姓名、年龄、性别、系、年级、平均绩点等属性•上表中各实体的属性实体联系图•实体•联系•属性供应商原材料混凝土ID_G名称名称ID_Y库存单位类型名称转化为关系模型•实体转化为关系表–表名称:实体名+关系表–表的属性为实体的属性•联系转化为关系表–表名:联系名+关系表–属性:联系所涉及的实体主属性以及自身特有属性ER图转化为关系表关系的规范化•对同一个系统,可以归纳出若干个关系数据模型出来,如何判断这些关系数据模型的优劣——关系的规范化。一个好的关系模型,不会发生插入(insert)、删除(delete)和更新(update)操作异常。第一范式•元组中的每一个分量都是不可分割的数据项。第二范式•这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码•选课关系表•理想情况:(课程号,学号)(成绩、姓名、学分)•实际上:(课程号,学号)成绩;课程号学分;学号姓名•假设有十个学生,每个学生选5门课程为例•数据冗余•更新麻烦•插入麻烦•删除麻烦第三范式•不存在传递依赖关系•存在依赖关系:学号==》所在学院==》(学院地点、学院电话)•以有50个学生,均匀分布在5个学院为例•数据冗余•更新麻烦•插入麻烦•删除麻烦3如何操作数据库(以access为例)•1.基本表的建立和删除•2.数据查询•3.数据操作–更新、删除、插入数据库表的形式数据库的操作•基本表的建立•CREATETABLEstudent•(列名、类型,列名、类型,…)•基本表的删除•DROPTABLEstudent•基本表的修改•AlTERTABLEstudentADD列名类型表的建立•“创建”“表”•设置属性:–单击属性栏添加–也可以在设计界面里面添加•任务:–创建”混凝土”表数据查询•SELECT<目标列>FROM<表名>[WHERE<条件表达式>]•[GROUPBY<列名>][ORDERBY<列名>[ASC/DESC]]•实现功能:•1、查看库存小于200的原材料–操作–SQL•SELECT原材料.[ID_Y],原材料.[原材料名称],原材料.[库存]•FROM原材料•WHERE(原材料.[库存])<200;•练习:•在混凝土原材料表中,查找单位小于2的数据项•写出SQL语句•实现功能2:按库存量递增排序•SELECT原材料.[ID_Y],原材料.[原材料名称],原材料.[库存]•FROM原材料•WHERE(((原材料.[库存])<200))•orderby原材料.[库存]asc;•练习:•在混凝土原材料表中,按单位降序排列•写出SQL语句•SELECT混凝土原材料.[类型],混凝土原材料.[ID_Y],混凝土原材料.[单位]•FROM混凝土原材料•ORDERBY混凝土原材料.[类型];实现功能4:跨表查询•实现功能4:•SELECT原材料.ID_Y,原材料.原材料名称,原材料.库存,供应商.供应商名称•FROM供应商,原材料,原材料_供应商•WHERE((原材料.库存)<200AND原材料.ID_Y=原材料_供应商.ID_YAND原材料_供应商.ID_G=供应商.ID_G)•ORDERBY原材料.库存;数据更新•(一)数据修改:修改某一列的值•UPDATE<表名>•SET<列名>=<表达式>•[WHERE<逻辑表达式>]实现功能:把wesley改为加多宝•UPDATE供应商SET供应商.供应商名称=加多宝•WHERE(((供应商.供应商名称)=Wesley));数据删除•DELETEFROM表名•[WHERE逻辑表达式]•功能:删除412加多宝供应商•DELETE供应商.ID_G,供应商.供应商名称•FROM供应商•WHERE(((供应商.ID_G)=412));数据插入•数据插入:实现功能:在供应商表中,插入一行412,wesley•INSERTINTO供应商(ID_G,供应商名称)•VALUES(412,WESLEY);