第三章数据库与数据仓库:信息的黄金宝藏•竞争需要信息•信息时代信息是支撑•信息的有效组织使你可以快速容易的获取信息•信息处理工具帮助你使用信息今天组织的需求本章的要点•信息的逻辑与物理表示•数据库与数据库管理系统•如何开发数据库应用•数据库与数据挖掘1、信息的组织物理组织BitByteWord技术界面逻辑组织characterfieldrecordfiledatabasedatawarehouse字节位字字符字段记录文件数据库数据仓库2、数据库•以一定的方式组织、存储的相关数据的集合,它具有最小的数据冗余和较高的数据独立性,可供多种应用服务。•相关数据的有序集合。具有对数据的安全性、完整性、并发操作的控制功能关系型数据库模型•关系型数据库模型利用一系列的二维表存储信息•实体Entity与二维表对应,代表客观事物•属性Attribute是用来描述实体的特征•关键字(主键)PrimaryKey是可以唯一标识一个实例的属性•实例Instance是实体的具体描述,实例的集合构成实体数据库管理系统(DBMS)DatabaseManagementSystem数据库DBMS工具数据定义数据处理应用系统生成数据管理关系型数据库模型女345.7653付塞4567345.6435456.3456345.6745电话女安花日4546女乌苏3466男汪力3455性别姓名信用号4656.6799-6-8345558675.0099-6-945465999-7-199-6-899-6-7日期576.7834556056.78456757456.67345556消费金额信用号序号顾客关系销售关系主关键字主关键字外关键字3、建立数据库1)基本设计概念与准则2)利用ACCESS设计数据库及应用1)基本设计概念与准则A)确定实体(表)和主关键字根据用户(使用者的)要求确定数据库的功能是数据库设计的基础,是应用数据库成功的关一步。实现从客观实体向抽象数据的转换。关键字唯一确定每条记录的一个或几个字段例:一个销售信息系统可以包括以下实体雇员、订单、产品,等,其主关键字分别为雇员ID、订单ID、产品ID。建立数据库B)确定关系类型----1数据库的关系类型有三种•一对一(1:1)特点是两个表的主关键字完全一样。如员工表和原工配偶表•一对多(1:M)一个表中的实体可能与另一个表中多个实体有关。如雇员与部门之间的关系。一对多是关系数据库设计的标准。•多对多(N:M)一个实体可能在两个表中多次出现。如雇员与学位获得,订单与产品。多对多关系可以通过符合表的方法转变为两个一对多的关系B)确定关系类型----2建立ER(Entity-relationship)图图例1:学历雇员部门M:1M:N图例2:关系的转化雇员部门M:1学历M:1教育1:M雇员ID学位编码年度1MBA19892BS19822MS19876BS1990雇员ID姓名性别家庭电话1张颖女655598572王伟男655594823李芳女655534124郑建杰男655581225赵军男655548486孙林男655577737金士鹏男655555988刘英玫女655511899张雪眉女65554444学位编码学位名称MBA工商管理硕士BS理学学士MS理学硕士教育(复合表)雇员学历ER图的另一种形式雇员部门教育学历B)确定关系类型----3•业务规则向ER的转变1.一个客户只可以对应一个销售代表2.每个销售代表可以至少对应一个客户3.一个司机对应多个货运目的地4.一个司机在24小时周期内不能超过10小时的驾驶时间C)确定实体的属性利用规范化设计原则基本思想:客观实体与抽象数据的准确对应概念清晰、结构统一、无冗余。完成多对多关系的转换无冗余确保表中的每个字段依赖于主关键字表中不应包括重复的信息,以避免数据的不一致,同时可以提高效率。去掉衍生字段注意表的独立性、易操作性D)创建数据库•主要完成数据字典的建立数据字典---关于数据的数据。在ACCESS中通过新建表,完成表中字段的设计并定义属性2)利用ACCESS设计数据库及应用•ACCESS的内部结构•表的创建与使用•查询设计•窗体•报表•数据访问页•保护数据库ACCESS的内部结构•表用来存储数据信息,每个表存放具有特定主题的数据信息,所有表及其之间的关系构成了数据库的核心。•查询在一个或多个表内查找某些特定的数据。•窗体为用户提供交互界面,用于数据输入、显示及应用程序的控制。•报表将选定的数据信息格式化显示或打印。•宏若干个操作的组合。•模块用VBA编写的程序段。•WEB页用于在网上发布信息。表的创建与使用(1)表的创建(2)修改表的结构(3)表的使用与编辑(4)表及字段的属性(5)建立关系(1)表的创建•创建空数据库在空表的基础上添加需要的其它对象•利用系统提供的导入及链接功能利用设计视图创建表–打开设计视图–确定字段及类型–定义主关键字–保存–文本–备注–数字–日期和时间–货币–自动编号–是/否–OLE对象–超级链接–查阅向导利用系统提供的导入及链接功能•导入与链接–导入将数据导入到当前的数据库的表中–链接将数据保留在其当前位置,用本地的数据管理器使用,但不进行数据导入操作。导入数据实例从EXCEL中导入(2)修改表的结构•字段的增删•改变字段顺序•更改字段类型•更改属性•更改关键字提示:要善于利用快捷键(3)表的使用与编辑•更改显示方式•行高、列宽•列隐藏、行列的冻结•数据表格式•字体•颜色•网格数据更改•追加•修改•删除•数据的移动与复制•思考:插入记录如何处理?数据排序、查找及筛选(4)表及字段的属性•字段大小•格式定义数据的显示就及打印格式–“格式”属性只影响值如何显示,而不影响在表中值如何保存。而且显示格式只有在输入的数据被保存后才应用。–预定义显示格式可用于AutoNumber、Number、Currency、Date/Time和Yes/No字段,并且可以为这些字段自定义格式。其他字段允许自定义格式。对OLE对象字段则不能自定义显示格式。(4)表及字段的属性(续)•输入掩码字段摸板–可以使用向导或自定义•默认值•有效性文本及规则–检查输入数据的有效性,避免输入错误,并显示提示信息。•表的属性(5)关系查询设计查询是根据给定的条件从数据库的表中筛选出符合条件的记录,构成一个数据的集合。查询设计可以依据一个或多个表或查询,建立新的查询后,其结果可以看作为一个简化的数据表。ACCESS提供多种查询方式。查询设计(1)简单查询(选择查询)(2)参数查询(3)交叉表查询(4)操作查询——(5)SQL语句查询A生成表查询B追加查询C更新查询D删除查询(1)选择查询可以从一个或多个表中选择记录,组成数据的动态集合,还完成以下功能:分组、汇总、计算及生成新的计算字段(2)参数查询利用系统对话框,接受用户输入查询条件(准则)参数,完成指定形式的查询。准则:查询或高级筛选中用来识别所需特定记录的限制条件。参数查询的条件输入可以对相同的字段或不同的字段输入多个准则。在多个“准则”单元格中输入表达式时,MicrosoftAccess将使用And或Or运算符进行组合。运算规律为:同行And,异行Or。在准则中输入的数据如果是日期,Access将自动用#包围,如果是文本,将自动用包围参数查询参数查询可以显示一个或多个提示参数值(准则)的预定义对话框。在要作为参数使用的每一字段下的“准则”单元格中,在方括号内键入相应的提示。此查询运行时,MicrosoftAccess将显示该提示。条件:like“*-”&[yue]&”-*”方括号内键入运行时相应的提示字符串连接符通配符匹配运行提示:姓名性别出生日期仲热阿男65-3-23张飞翔男72-3-3张美丽女56-3-3张一盘男59-3-3张可爱女54-3-3结果(3)交叉表查询交叉表查询显示来源于表中某个字段的总结值(合计、计算以及平均),并将它们分组,一组列在数据表的左侧,一组列在数据表的上部。3)交叉表查询ID时间销售人产品折扣数量199-4-4白搭有电视319510299-4-4李振华微波炉90100399-4-5刘大亨电视3185200499-4-5刘大亨微波炉90150599-4-7李振华洗衣机9550699-4-7李振华微波炉90180799-5-5李振华微波炉95200899-5-5马千斤洗衣机9540999-5-6李振华电视31901001099-5-6马微空调95201199-5-7马千斤空调9591299-5-8李陌生电视31958销售人电视31空调微波炉洗衣机白搭有10李陌生8李振华10048050刘大亨200150马千斤940马微20销售表销售交叉表操作查询A生成表查询B追加查询C更新查询D删除查询用查询产生的动态集创建新表从一个或多个表将一组记录追加到一个或多个表的尾部。对一个或多个表中的一组记录作全局的更改。从一个或多个表中删除一组记录。SQL语句查询SQL查询是用户使用SQL语句创建的查询。SQL查询的特殊示例:联合查询传递查询数据定义查询子查询将来自一个或多个表或查询的字段(列)组合为查询结果中的一个字段或列。使用服务器能接受的命令直接将命令发送到ODBC数据库,创建、删除、更改表或创建数据库中的索引查询包含另一个选择查询或操作查询中的SQLSELECT语句。可以在查询设计网格的“字段”行输入这些语句来定义新字段,或在“准则”行来定义字段的准则。窗体设计•在Access中,窗体是应用程序面向用户的界面,应用者一般是通过窗体来获取和操作数据。•窗体的功能–数据的显示(打印)与编辑–数据的输入–显示注释,说明或警告信息–应用程序流的的控制–创建切换面板及自定义信息窗体的视图•设计视图窗体布局的设计•窗体视图窗体的运行状态,用户使用的界面–纵栏式(调整表)–表格式•数据表视图忽略设计时对显示格式的设计,按表格的方式显示数据纵栏式窗体及设计视图数据表表格式窗体及设计视图数据表含子窗体的窗体设计视图的使用•菜单栏•工具栏•工作区•属性窗口•字段列表设计视图的使用工具栏–窗体设计–格式–工具(控件)工具箱按钮工具箱(控件)•控件是窗体,报表或数据访问页中用于显示数据、执行操作或装饰窗体或报表的对象。•控件可以是绑定、未绑定或计算型的。•绑定控件:与基础表或查询中的字段相连,可用于显示、输入及更新数据库中的字段。•未绑定控件:没有数据来源。(一般用于修饰)•计算控件:以表达式作为数据来源。工具箱(控件)文本框标签选项组复选框切换按钮组合框列表框命令按钮图像控件未绑定对象框绑定对象框子窗体/子报表分页符线条选项卡ActiveX矩形选项控件向导工作区属性窗体的属性窗体页眉/页脚属性页面页眉/页脚属性主体属性控件对象属性注意:属性窗口与对象的对应字段列表•在设计视图下,绑定数据库表的字段列表•在窗体属性的“数据/数据源”可以查看与当前窗体绑定数据库表。窗体设计—设计视图方法•选择对象“窗体”,选择“新建/设计视图/数据来源”拖拽窗体设计—利用窗体向导•选择对象“窗体”,选择“新建/窗体向导/数据来源”•按照向导选择:字段、布局、样式及标题窗体设计示例-创建职工录入窗体1.利用向导建立“职工”表的窗体(纵栏表)2.调整布局:控件的大小及位置运行结果新记录3。修改属性:标题及进入新记录窗体设计示例-创建销售窗体利用向导,选择数据表,运行结果如图销售窗体修改:将列表形式改为文本销售窗体修改:加入计算控件利用文本框加入两个计算字段业务数,公式为:=count([数量])总量:公式为:=sum([数量])销售窗体修改:属性的修改1.不允许修改、添加,只能查看2.去掉浏览按钮窗体设计示例-创建职工销售查询窗体1、创建“职工姓名查询”的窗体(纵栏表)2、建立子窗体(引用销售窗体)窗体设计示例-创建职工销售查询窗体3、增加命令按钮1)选择控件--命令(先选中控件向导)2)在窗体(设计界面)用鼠标拖出一个矩形3)根据向导依次作出选择类别:窗体操作:关闭窗体按钮:图片/退出按钮名称:略4)运行测试窗体设计示例-创建