BI∪ed同志bi软件排名

二十年前的小学语文课,老师叫我们写下自己的理想。全班60个人有的要当科学家,有的要当老师,有的要当国家领导人,而我那时的理想是当一名工人,当时被很多同学嘲笑没有志气。现在二十年过去了,全班60个人就只有我的理想实现了。
二十年前的小学语文课,老师叫我们写下自己的理想。全班60个人有的要当科学家,有的要当老师,有的要当国家领导人,而我那时的理想是当一名工人,当时被很多同学嘲笑没有志气。现在二十年过去了,全班60个人就只有我的理想实现了。
# &br&我觉得,宇宙中最令人感到神奇的,大概的就是人类本身了吧。 &br&&br&“水35升、碳20公斤、氨水4升、石灰1.5公斤、磷800克、盐250克、硝石100克、硫磺80克、氟7.5克、硅3克、铁5克、还有适量的十五种元素,以一个标准的成年人来计算的话,这就是人体的构成物质。”&br&这是03钢炼片头的一段话,当时听来,震撼不已。仔细想想,这些元素和物质又将从何而来呢? &br&&br&宇宙中最基础的元素是氢。局部富集的氢因引力坍缩而被点燃,形成的恒星,如此时窗外正待升起的-太阳。燃氢成氦,释放光和热,更大质量的恒星得以继续聚变形成碳、氮、氧,然后是硅甚至是铁。无法支撑自身引力的铁核将会因坍塌而引发超新星爆发,激波将核心周围的物质被喷射而出,过程中还会形成比铁更重的元素。&br&&br&所以,即使忽略掉组成我们身体的元素,在地球上这段漫长而又短暂到微不足道的时光,我们也已经在这个宇宙中旅行了足够久。&br&&br&那闪耀整个星系的新星的光芒,穿梭于星际间的急速的喷流。我们都来自于其间,不管是低微贫寒,还是富有高贵,我们都是货真价实的星辰之子。&br&我们的身体,都曾在恒星的中心炙热的燃烧锻造。。。&br&&br&所以,当狮心王 莱因哈特说 “我的征途是星辰大海”
这凡人听起来略显中二的呓语时,似乎一切又都自然的不可思议。&br&&br&毕竟我们,也只是一群寻找返乡之路的少年。&br&&br&&br&&br&&br&以上
# 我觉得,宇宙中最令人感到神奇的,大概的就是人类本身了吧。 “水35升、碳20公斤、氨水4升、石灰1.5公斤、磷800克、盐250克、硝石100克、硫磺80克、氟7.5克、硅3克、铁5克、还有适量的十五种元素,以一个标准的成年人来计算的话,这就是人体的构成物质。…
题主你想,&br&美国有&br&知名度达到在全国说起名字无人不知无人不晓,&br&教学能力强到让王牌专业火遍各地并且成功将其引入食品行业,&br&势力大到能多年在全国上下的电视台投放广告还是循环播放,&br&声望高到让海外媒体费尽心机夸张报道甚至让外国军方闻风丧胆,&br&的技工学校吗?
题主你想,美国有知名度达到在全国说起名字无人不知无人不晓,教学能力强到让王牌专业火遍各地并且成功将其引入食品行业,势力大到能多年在全国上下的电视台投放广告还是循环播放,声望高到让海外媒体费尽心机夸张报道甚至让外国军方闻风丧胆,的技工学校吗?
我和space X毫无关系,看视频都很感动,如果在现场一样会欢呼流泪。&br&&br&“孩子,70年前的今天,你爷爷和同事们参与了马云先生带领的双十一盛典,那一夜我们卖出了300亿元人民币的货物。”&br&&br&“孩子,70年前的今天,你爷爷和同事们亲眼看着我们研发的Falcon 9成功降落,看看窗外的火星地表,这一切都起步于那次成功。”
我和space X毫无关系,看视频都很感动,如果在现场一样会欢呼流泪。“孩子,70年前的今天,你爷爷和同事们参与了马云先生带领的双十一盛典,那一夜我们卖出了300亿元人民币的货物。”“孩子,70年前的今天,你爷爷和同事们亲眼看着我们研发的Falcon 9成功降…
我看到这个问题的时候,所有答案都在说这不是一种善举。喷题主的占大多数,还没有人解释为什么。我来试试解释一下这个问题。&br&&b&题主的这个逻辑是不能成立的。&/b&“以四个人不开心为代价让五个人开心”是一种善举。也就是说五个人的开心比四个人的开心更重要。按照这个逻辑,我们从四个人每个手里抢五块钱,然后分给另外五个人每人四块。看,一共还是那二十块钱(题主认为不能抵消,这显然是可以抵消的),现在只有四个人不开心,另外五个是开心的,这多划算。显然这是一种强盗逻辑。&br&关于这四个人是队友,那五个是敌人,应该让队友开心敌人不开心的观点,这个不是问题的关键。本身我们十个人一起玩一局游戏,就是朋友。无论是踢球还是打牌,分成队伍都是很正常的,难道因此就决裂了么?&b&挂机的危害在于:你破坏了这九个人的游戏体验。即使你硬要说这四个人和对面五个人在胜负上的情绪可以抵消,但游戏体验上的损失却没有地方可以弥补。&/b&&br&最后&br&&b&在一个不公正的制度下,长远来看,每个人都是受害者。作为破坏公正的那个人,不会得到任何人的赞扬,即使有些人暂时因此获利。&/b&
我看到这个问题的时候,所有答案都在说这不是一种善举。喷题主的占大多数,还没有人解释为什么。我来试试解释一下这个问题。题主的这个逻辑是不能成立的。“以四个人不开心为代价让五个人开心”是一种善举。也就是说五个人的开心比四个人的开心更重要。按照…
冠状动脉粥样硬化性心脏病≈胸痹、真心痛;&br&高血压病≈风眩、眩晕、头风;&br&心律失常≈心动悸;&br&慢性心功能不全≈心悸、怔忡、水肿、痰饮、心痹:&br&病态窦房结综合征≈心悸、眩晕、厥证;&br&风湿性心脏病≈心痹;&br&慢性肺源性心脏病≈喘证、痰饮、心悸、水肿;&br&慢性阻塞性肺气肿≈肺胀;&br&急性肺部炎性病变≈肺热病;&br&气管、支气管炎≈肺咳;&br&支气管哮喘≈哮病;&br&肺脓肿≈肺痈;&br&肺结核≈肺痨;&br&胸腔积液≈悬饮;&br&肺性脑病≈肺厥;&br&胃溃疡、胃炎≈胃疡、胃脘痛;&br&胃下垂≈胃脘痛、痞满、纳呆;&br&幽门梗阻≈胃结石;&br&溃疡性结肠炎≈胃反;&br&肠结核≈腹泻、腹痛、大瘕泄;&br&习惯性便秘≈肠痨;&br&急性胰腺炎≈脾约;&br&慢性胰腺炎≈脾瘅;&br&乙型病毒性肝炎≈黄疸、胁痛、积聚、虚劳;&br&肝硬化≈肝积、胁痛、积聚、膨胀;&br&肝硬化腹水≈膨胀;&br&肝脓肿≈肝痈;&br&肝结核≈肝痨;&br&脂肪肝≈肝癖、肝痞;&br&肝昏迷≈肝厥;&br&慢性肾盂肾炎≈肾着、淋证;&br&肾病综合征≈肾水、水肿;&br&急性肾小球肾炎、慢性肾小球肾炎≈皮水、水肿;&br&慢性肾功能衰竭≈关格、虚劳、水肿、呕吐、癃闭;&br&肾结核≈肾痨;&br&尿潴留≈癃闭;&br&再生障碍性贫血≈虚劳、血证;&br&血小板减少性紫癜≈紫癜病;&br&神经性失眠≈不寐;&br&三叉神经痛≈面风病;&br&脑血管性痴呆≈痴呆、呆病;&br&血管神经性头痛≈偏头风、偏头痛;&br&脑动脉硬化症≈脑络痹、健忘、眩晕;&br&面神经麻痹≈口僻;&br&帕金森病≈颤病、脑风表;&br&脑血栓≈中风、偏枯;&br&脑出血≈中风;&br&高血压脑病≈厥头痛、真头痛;&br&过敏性休克≈风厥;&br&流行性感冒≈感冒;&br&流行性脑脊髓膜炎≈春温;&br&流行性乙型脑炎≈暑温&br&单纯性弥漫性甲状腺肿、地方性甲状腺肿≈气瘿;&br&甲状腺瘤,结节性甲状腺肿≈肉瘿;&br&亚急性甲状腺炎≈瘿痈;&br&甲状腺癌≈石瘿;&br&甲状腺功能亢进≈瘿气、瘿病;&br&甲减≈瘿劳;&br&甲状旁腺功能亢进≈侠瘿瘅(瘤);&br&急性淋巴管炎≈红丝疔;&br&颈部淋巴结核≈癗疠;&br&锁骨上窝淋巴结核≈缺盆疽;&br&流行性腮腺炎≈痄腮;&br&睾丸(附睾)炎≈子痈;&br&附睾结核≈子痰;&br&睾丸恶性肿瘤≈子岩;&br&隐睾≈子隐;&br&阴囊急性化脓性感染≈(肾)囊痈;&br&阴囊部特发性坏疽≈脱囊;&br&阴囊湿疹≈绣球风、肾(阴)囊风;&br&阴囊血肿≈血疝;&br&精索静脉曲张≈精疝;&br&睾丸鞘膜积液、精索鞘膜积液≈水疝;&br&阴茎海绵体硬结≈阴茎痰核,玉茎疽;&br&包皮炎≈旋螺风;&br&龟头炎≈阴(龟)头痈;&br&阴茎癌≈肾岩翻花、阴茎岩;&br&尿道口下裂≈马口异位;&br&性神经衰弱症≈遗精,梦遗,滑精;&br&更年期综合征≈绝经前后诸征;&br&先兆流产≈胎漏、胎动不安;&br&难免流产≈胎动欲堕;&br&完全流产、不全流产≈堕胎、小产、暗产;&br&过期流产≈胎死不下;&br&习惯流产≈滑胎;&br&妊高征≈子肿、子晕、子痫;&br&产褥感染≈产后发热;&br&子宫脱垂≈阴挺;&br&急性乳腺炎≈乳痈;&br&乳房深部脓肿≈乳疽;&br&浆细胞乳腺炎,乳腺导管扩张症≈粉刺性乳痈;&br&乳房结核≈乳痨;&br&乳房瘘管和窦道≈乳瘘;&br&乳房部急性蜂窝织炎、乳房部坏死性蜂窝织炎≈乳发,脱壳乳痈;&br&乳腺囊性增生症≈乳癖;&br&男性儿童乳房异常发育症≈乳疠;&br&乳腺纤维腺瘤≈乳核;&br&乳腺癌≈乳癌;&br&乳头乳晕湿疹样癌≈乳疳;&br&溢乳症≈乳泣;&br&乳头皴裂≈乳头风,乳头破碎;&br&乳晕部湿疹≈乳头湿疹;&br&营养不良≈疳积;&br&婴儿腹泻≈腹泻;&br&小儿急性呼吸道感染≈小儿感冒;&br&风疹≈风沙;&br&小儿急惊风(惊厥)≈惊风、抽风&br&疖、皮肤脓肿≈疖、蝼蛄疖、疔疮;&br&颜面部急性化脓性感染≈颜面部疔疮;&br&手足部急性化脓性感染≈手足部疔疮;&br&气性坏疽≈烂疔;&br&全身性化脓性感染、颅内化脓性感染≈疔疮走黄;&br&丹毒、网状淋巴管炎≈丹毒;&br&浅表脓肿、急性淋巴结炎≈痈;&br&口底部急性蜂窝织炎≈锁喉痈;&br&臀部蜂窝织炎≈臀痈;&br&手背部急性化脓性炎症≈手背发;&br&痈≈有头疽;&br&背痈≈对脐发疽;&br&肘尖部痈≈石榴疽;&br&足跗部痈≈历疽;&br&急性化脓性感染之毒血症、脓毒血症、败血症、脓毒性休克≈痈毒内陷;&br&化脓性骨髓炎、骨关节炎≈无头疽,附骨疽;&br&急性血源性骨髓炎≈急性附骨疽;&br&慢性骨髓炎≈慢性附骨疽;&br&化脓性髋关节炎≈环跳疽;&br&胸骨骨髓炎≈井疽;&br&胫骨骨髓炎≈胫疽;&br&化脓性距小腿关节炎≈足踝疽;&br&急性、慢性化脓性腮腺炎≈发颐;&br&多发性转移性肌肉深部脓肿≈流注;&br&多发性深部脓肿≈暑湿流注;&br&转移性肌肉深部脓肿≈余毒流注;&br&血肿感染之脓肿≈淤血流注;&br&髂窝脓肿≈髂窝流注;&br&骨与关节结核≈流痰(骨痨);&br&髋关节结核≈附骨痰;&br&胸椎结核≈龟背痰;&br&腰椎结核≈肾兪虚痰;&br&腰椎结核所致结核性瘘管≈肾兪瘘;&br&指关节结核≈蜣螂蛀;&br&膝关节结核≈鹤膝痰(风);&br&距小腿关节结核≈穿拐痰;&br&跟骨结核≈足跟疽;&br&结核性瘘管≈鼠瘘;&br&胸腋部淋巴结核≈渊疽;&br&小腿慢性溃疡≈臁疮;&br&丝虫病感染所致下肢淋巴水肿≈大脚风;&br&血栓闭塞性脉管炎,闭塞性动脉硬化症≈脱疽;&br&下肢血栓性深静脉炎≈股肿;&br&血栓性浅静脉炎≈静蛇毒;&br&下肢静脉曲张≈青筋腿;&br&急性支气管炎≈咳嗽;&br&泌尿感染≈淋证;&br&营养性缺铁性贫血≈血虚、萎黄、虚痨、疳证;&br&风湿热≈ 行痹、热痹&br&急性风湿性关节炎≈风湿热痹、热痹&br&慢性风湿性关节炎≈风寒湿痹、寒痹、着痹&br&风湿性心脏病、病毒性心肌炎≈ 心痹&br&类风湿性关节炎≈ 历节、白虎历节风、痛痹、顽痹、尪痹、瘘痹&br&系统性红斑狼疮≈ 周痹、常伴内脏痹(心痹、肝痹、肺痹、脾痹、肾痹、肠痹、胞痹、三焦痹)&br&盘状红斑狼疮 ≈ 蝴蝶丹、阴阳毒、赤丹等&br&硬皮病≈皮痹、肠痹、食痹&br&皮肌炎、多发性肌炎≈肌痹、肌肤痹、瘘症&br&干燥综合症 ≈ 燥痹、燥病&br&末梢血管炎、结节性多动脉炎≈脉痹、血痹&br&多发性大动脉炎≈脉痹、无脉痹&br&早期闭塞性脉管炎≈脉痹&br&混合性结缔组织病≈混合痹、复合痹&br&成人斯蒂尔病≈寒热痹、热痹&br&结节性红斑≈ 风雪痹、瓜藤缠、湿毒流注、梅核火丹&br&白塞病≈孤惑&br&肠病性关节炎≈ 肠痹&br&骨关节炎≈ 肘痹膝痹&br&颈椎病 ≈ 颈肩风&br&腰椎肥大性关节炎≈腰腿痛、腿股风、环跳风&br&腰关节肥大性关节炎≈着痹、骨痹、腰痛、鹤膝风&br&手指退行性关节炎≈鸡爪风&br&跟骨骨刺增生症≈足跟风&br&髋关节肥大性关节炎≈环跳风&br&膝关节滑囊炎、膝骨关节炎≈ 骨痹、鹤膝风&br&多发性肋软骨炎≈软肋痹&br&强直性脊柱炎≈龟背风、肾痹、骨痹、竹节风&br&慢性纤维织炎≈ 着痹、腰痹、肾着&br&肌腱炎 ≈ 筋痹&br&痛风性关节炎 ≈痛痹、热痹、着痹&br&大骨节病 ≈ 骨痹、历节&br&脂膜炎≈ 恶核肿、丹毒、痰核、冻烂疮&br&巨细胞动脉炎 ≈ 脉痹、偏头痛&br&雷诺综合症、红斑性肢痛症≈ 脉痹、血痹&br&骨质疏松症≈ 骨瘘、骨痹&br&&br&这是我的小号,欢迎关注。
冠状动脉粥样硬化性心脏病≈胸痹、真心痛;高血压病≈风眩、眩晕、头风;心律失常≈心动悸;慢性心功能不全≈心悸、怔忡、水肿、痰饮、心痹:病态窦房结综合征≈心悸、眩晕、厥证;风湿性心脏病≈心痹;慢性肺源性心脏病≈喘证、痰饮、心悸、水肿;慢性阻塞…
和情敌喝酒,我不胜酒量,情敌敬我酒,我实在喝不下了,桌子一拍,大喝一声:蜀将何在!临桌一人起身,应到:末将在!遂连敬情敌三杯,唬得我们这一桌人一愣一愣的,情敌卒。&br&(是我室友,偶遇,以前这招我们演练过,没想到真用上了!)
和情敌喝酒,我不胜酒量,情敌敬我酒,我实在喝不下了,桌子一拍,大喝一声:蜀将何在!临桌一人起身,应到:末将在!遂连敬情敌三杯,唬得我们这一桌人一愣一愣的,情敌卒。(是我室友,偶遇,以前这招我们演练过,没想到真用上了!)
我大二那年吧大概是,正是大家议论转基因食品挺火热的时候。&br&&br&我那年修了一个课叫做商务英语听说,上课内容就是早上去多媒体教室,老师放一些 CNN BBC 什么的新闻,然后跟老师和同学对话,包括复述这个新闻啊,评个论啊发表个个人见解啊什么的。&br&&br&期末考试是几个同学分一组,类似编个小剧一样上去演,考考你搜集英文资料和听说的能力吧大概。我们小组四个人抽到的题目是关于转基因食品的,于是一个演电视台主播,一个前方记者,一个路人,还有一个专家。我来的是那个专家。&br&&br&于是主播说完主要情况后前方记者采访路人,然后主播就要来请教专家了,我这个专家就准备了大概800多字的一段内容,一堆专业生词,拗口无比。包括了转基因食品的来龙去脉,优势劣势,民间舆论,科研成果,已在寝室背得滚瓜烂熟。&br&&br&好了按下不表,我的重点不是这个课……&br&&br&我还有个口语课,平时基本没怎么去过,就考试前那一节课去了,公布了下节课考试,考试方法是两人一组,到时候随机抽题目就对话。然而,选课的人数是单数……&br&&br&所以我没有 partner……&br&&br&&br&&br&于是考试那天,老师说,要不你就也抽一个题目自己说说就行了,我说好。&br&&br&然后如你们所料,抽到那张纸条上赫然写着: Transgenic food……&br&&br&卧槽尼玛这特么是我老本行啊!!!我特么是专家啊!!!&br&&br&我装作看不懂的样子:老师,这是转基因食品吧?那我酝酿一下。&br&&br&老师:嗯,没事,随便说说就行。&br&&br&好嘞~&br&&br&&br&五分钟后……&br&&br&&br&&br&我:
%¥#@%……%¥#……&%¥&#%¥……#%¥#%¥#……%¥#……%¥……%¥#%……¥@%##¥%¥#……%¥#……%¥#……%¥#%¥#@……%×&……&%……¥#&……%¥……%¥#%¥#%¥……%&……%¥&……%%¥&……%%¥&……%¥……%¥……%#……%¥#……&%#……%¥%¥%#%¥#……%¥#……%¥#……%¥#%¥#……%#¥%……………………&br&&br&&br&&br&老师表示卧槽怪不得你不来上课啊!老师特么听个半懂啊!卧槽这段用中文说我估计都半懂啊!行了膝盖和满分都给你你回去吧!&br&&br&&br&&br&我只是高深莫测地一笑。
我大二那年吧大概是,正是大家议论转基因食品挺火热的时候。我那年修了一个课叫做商务英语听说,上课内容就是早上去多媒体教室,老师放一些 CNN BBC 什么的新闻,然后跟老师和同学对话,包括复述这个新闻啊,评个论啊发表个个人见解啊什么的。期末考试是几…
大学运动会有个特漂亮的女同学背包放我这了,快结束的时候她在很远的地方跟我招手。因为人声鼎沸根本听不到,我就也站起来冲她喊:我也爱你。她猛点头继续冲我挥手。周围那群单身狗简直生不如死。
大学运动会有个特漂亮的女同学背包放我这了,快结束的时候她在很远的地方跟我招手。因为人声鼎沸根本听不到,我就也站起来冲她喊:我也爱你。她猛点头继续冲我挥手。周围那群单身狗简直生不如死。
初三时候有晚自习,但是学校不提供晚&br&饭,食堂只有包子和卷饼。&br&&br&我们晚上就是吃着包子卷饼什么的垫一垫肚子,然后放学回家吃饭。&br&&br&学校的包子,馅儿大,份儿足!咬一口全是肉,那叫一个香,晚自习这时候,包子自然成了抢手货。&br&&br&一到那个课间大家都得往那边跑,为啥,为了抢包子,去晚了渣都剩不下。&br&&br&后来我研究一个非常牛逼的方法,绝对全班都能吃上包子。&br&&br&每次还没打下课铃的时候,有一个人假装去厕所,然后里面人教室里扔出去一个空书包,外面人接过书包直奔食堂。&br&&br&那决定计谋成败的一天,先出去的人,自然是我。&br&&br& 我提前十分钟肚子疼去厕所。&br&&br& 我在迈步跨出教室门的同时依稀听见同学们对我演技的赞叹。&br&&br&前脚刚出教室门,临走廊的教室窗子飘飘荡荡飞出一大只空书包。&br&&br&三胖子,扔的好。 我默念一声。&br&&br&跨步上前一接,背上包,不紧不慢直奔食堂。&br&&br&我知道,我才是最快的。 &br&&br&如风一般的美男子。 &br&&br&果然,食堂一个学生都没有。&br&&br& 对面的一排食堂大妈一个个视死如归的神情。在等待几分钟后的“敌人还有三十秒到达食堂,喂饱他们!”的命令。&br&&br& 直奔包子柜台。 &br&&br&一个大妈激动的问我:“同学,几个包子?!”&br&&br& 我把书包狠狠的摆在柜台上,指尖轻甩出几张饭卡。&br&&br& 用力的咬下嘴唇。不看大妈一眼。&br&&br&只是恶狠狠的看着包子。&br&&br&&br& “给我装满。”&br&&br&&br&&br&当我迎着夕阳下奔跑的下课的少年们的身影缓缓走出食堂时,&br&当我看见他们盯着所剩无几的包子发出苦痛遗憾的悲鸣时,&br&当我背着全班的梦想肩负沉甸甸的包子迎接掌声和呐喊时,&br&&br&我知道,这个逼装的,是满分。
初三时候有晚自习,但是学校不提供晚饭,食堂只有包子和卷饼。我们晚上就是吃着包子卷饼什么的垫一垫肚子,然后放学回家吃饭。学校的包子,馅儿大,份儿足!咬一口全是肉,那叫一个香,晚自习这时候,包子自然成了抢手货。一到那个课间大家都得往那边跑,为…第6章& 关系数据库规范化理论
一个关系数据库模式由一组关系模式组成,一个关系模式由一组属性名组成。关系数据库设计,就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组成关系的问题。然而,属性的分组不是唯一的,不同的分组对应着不同的数据库应用系统,它们的效率往往相差很远。
为了使数据库设计合理可靠,简单实用,长期以来,形成了关系数据库设计的理论&&规范化理论。
6.1& 关系规范化的作用
规范化,就是用形式更为简洁,结构更加规范的关系模式取代原有关系模式的过程。
如果将两个或两个以上实体的数据存放在一个表里,就会出现下列三个问题:
&O数据冗余度大
&O插入异常
&O删除异常
所谓数据冗余,就是相同数据在数据库中多次重复存放的现象。数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。
插入异常是指,当在不规范的数据表中插入数据时,由于实体完整性约束要求主码不能为空的限制,而使有用数据无法插入的情况。
删除异常是指,当不规范的数据表中某条需要删除的元组中包含有一部分有用数据时,就会出现删除困难。
(以P98工资表为例)
解决上述三个问题的方法,就是将不规范的关系分解成为多个关系,使得每个关系中只包含一个实体的数据。
(讲例子解)
当然,改进后的关系模式也存在另一问题,当查询职工工资时需要将两个关系连接后方能查询,而关系连接的代价也是很大的。
那么,什么样的关系需要分解?分解关系模式的理论依据又是什么?分解完后能否完全消除上述三个问题?回答这些问题需要理论指导。下面,将加以讨论:
6.2& 函数依赖
6.2.1属性间关系
实体间的联系有两类:一类是实体与实体之间联系;另一类是实体内部各属性间的联系。数据库建模一章中讨论的是前一类,在这里我们将学习第二类。
和第一类一样,实体内部各属性间的联系也分为1:1、1:n和m:n三类:
例:职工(职工号,姓名,身份证号码,职称,部门)
1、一对一关系(1:1)
设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中至多有一个值与之对应,反之,对于Y中的任一具体值,X中也至多有一个值与之对应,则称X、Y两属性间是一对一关系。
如本例职工关系中职工号与身份证号码之间就是一对一关系。
2、一对多关系(1:n)
设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中可以找到多个值与之对应,而对于Y中的任一具体值,X中至多只有一个值与之对应,则称属性X对Y是一对多关系。
如职工关系中职工号与职称之间就是一对多的关系。
3、多对多关系(m:n)
设X、Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中有n个值与之对应,而对于Y中的任一具体值,X中也有m个值与之对应,则称属性X对Y是一对多(m:n)关系。
例如,职工关系中,职称与部门之间就是多对多的关系。
上述属性间的三种关系,实际上是属性值之间相互依赖与相互制约的反映,因而称之为属性间的数据依赖。
数据依赖共有三种:
&O函数依赖(Functional Dependency,FD)
&O多值依赖(Multivalued Dependency,MVD)
&O连接依赖(Join Dependency,JD)
其中最重要的是函数依赖和多值依赖。
6.2.2& 函数依赖
函数依赖,是属性之间的一种联系。在关系R中,X、Y为R的两个属性或属性组,如果对于R的所有关系r 都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。或者说,属性X函数决定属性Y,记作X&Y。其中X叫作决定因素,Y叫作被决定因素。
上述定义,可简言之:如果属性X的值决定属性Y的值,那么属性Y函数依赖于属性X。换一种说法:如果知道X的值,就可以获得Y的值,则可以说X决定Y。
若Y函数不依赖于X,记作:X&Y。
若X&Y,Y&X,记作:&&&&&
前面学习的属性间的三种关系,并不是每种关系中都存在着函数依赖。
u如果X、Y间是1:1关系,则存在函数依赖 X&&Y
u如果X、Y间是1:n关系,则存在函数依赖: X&Y或Y&X(多方为决定因素)
u如果X、Y间是m:n关系,则不存在函数依赖。
注意,属性间的函数依赖不是指R的某个或某些关系子集满足上述限定条件,而是指R的一切关系子集都要满足定义中的限定。只要有一个具体的关系r(R的一个关系子集)不满足定义中的条件,就破坏了函数依赖,使函数依赖不成立。
这里的关系子集,指的是R的某一部分元组的集合,例如:地测学院的学生关系中只包含了地测学院学生的数据,所以它是长安大学学生关系的一个子集。
6.2.3& 码的定义
前面,我们对码进行了直观化的定义,下面用函数依赖的概念对码作出较为精确的形式化的定义:
设K是关系模式R(U,F)中的属性或属性组,K&是K的任一子集。若K&U,而不存在K'&U,则K为R的候选码(Candidate Key)
&O若候选码多于一个,则选其中的一个为主码(Primary Key);
&O包含在任一候选码中的属性,叫做主属性(Primary Attribute);
&O不包含在任何码中的属性称为非主属性(Nonprime Attribute)或非码属性(Nonkey Attribute)
&O关系模式中,最简单的情况是单个属性是码,称为单码(Single Key);最极端的情况是整个属性组是码,称为全码(All-Key)。
前面已多次遇到单码的情况,下面是一个全码的例子:
签约(演员名,制片公司,电影名)
外码:设有两个关系R和S,X是R的属性或属性组,并且X不是R的码,但X是S的码(或与S的码意义相同),则称X是R的外部码(Foreign Key),简称外码或外键。
如:职工(职工号,姓名,性别,职称,部门号)
&&& 部门(部门号,部门名,电话,负责人)
其中职工关系中的&部门号&就是职工关系的一个外码。
在此需要注意,在定义中说X不是R的码,并不是说X不是R的主属性,X不是码,但可以是码的组成属性,或者是任一候选码中的一个主属性。
如:学生(学生号,姓名,性别,年龄&)
&&& 课程(课程号,课程名,任课老师&)
&&& 选课(学生号,课程号,成绩)
&&& 在选课关系中,(学生号,课程号)是该关系的码,学生号、课程号又分别是组成主码的属性(但单独不是码),它们分别是学生关系和课程关系的主码,所以是选课关系的两个外码。
关系间的联系,可以通过同时存在于两个或多个关系中的主码和外码的取值来建立。如要查询某个职工所在部门的情况,只需查询部门表中的部门号与该职工部门号相同的记录即可。所以,主码和外码提供了一个表示关系间联系的途径。
6.2.4& 函数依赖和码的唯一性
由上述码的形式化定义,我们可以说:码是由一个或多个属性组成的,可唯一标识元组的最小属性组。
码在关系中总是唯一的,即一个码函数唯一地决定一行。如果码的值重复,则整个元组都会重复。否则,违反了实体完整性规则。而元组的重复则表示存在两个完全相同的实体,这显然是不可能的,所以码是不允许重复取值的。
所以,只有当某个属性或属性组能够函数决定关系中的每一个其它的属性,且该属性组的任何一个真子集都做不到这一点时,该属性或属性组才是该关系的码。
函数依赖是一个与数据有关的事物规则的概念。如果属性B函数依赖于属性A,那么若知道了A的值,则完全可以找到B的值。这并非是可以由A的值计算出B的值,而是逻辑上只能存在一个B的值。
6.3& 关系模式的规范化
一、非规范化的关系
当一个表中存在还可以再分的数据项时,这个表就是非规范化的表。非规范化表存在两种情况:
&O表中具有组合数据项(P102表6-4)
&O表中具有多值数据项(P103表6-5)
那么什么是规范化关系呢?
当一个关系中的所有分量都是不可再分的数据项时,该关系是规范化的。即当表中不存在组合数据项和多值数据项,只存在不可分的数据项时,这个表是规范化的。
二维表按其规范化程度从低到高可分为5级范式(Normal Form),分别称为1NF、2NF、3NF(BCNF)、4NF、5NF。规范化程度较高者必是较低者的子集,即:
1NF2NF3NFBCNF4NF5NF
二、第一范式(1NF)
定义1:如果关系模式R中不包含多值属性,则R满足第一范式(First Normal Form),记作:
1NF是对关系的最低要求,不满足1NF的关系是非规范化的关系。
非规范化关系转化为规范化关系1NF方法很简单,只要上表分别从横向、纵向展开即可。如下表:
上表虽然符合1NF,但仍是有问题的关系,表中存在大量的数据冗余和潜在的数据更新异常。原因是(职工号,学历)是右表的码,但姓名、职称、系名、系办地址却与学历无关,只与码的一部分有关。所以上表还需进一步地规范化。
三、第二范式(2NF)
定义1:设X、Y是关系R的两个不同的属性或属性组,且X & Y。如果存在X的某一个真子集X&,使X&& & Y成立,则称Y部分函数依赖于X,记作:X& P& Y(Partial)。反之,则称Y完全函数依赖于X,记作:X& F& Y (Full)
定义2:如果一个关系 R&1NF,且它的所有非主属性都完全函数依赖于R的任一候选码,则R属于第二范式,记作:R&2NF。
说明:上述定义中所谓的候选码也包括主码,因为码首先应是候选码,才可以被指定为码。
例如关系模式:
职工(职工号,姓名,职称,项目号,项目名称,项目角色)中
(职工号,项目号)是该关系的码,而职工号&姓名、职工号&职称、项目号&项目名称&
所以(职工号,项目号)P& 职称、(职工号,项目号)P& 项目名称
故上述职工关系不符合第二范式要求。它存在三个问题:插入异常、删除异常和修改异常。
其中修改异常是这样的,当职工关系中项目名称发生变化时,由于参与该项目的人员很多,每人一条记录,要修改项目信息,就得对每一个参加该项目的人员信息进行修改,加大了工作量,还有可能发生遗漏,存在着数据一致性被破坏的可能。
可把上述职工关系分解成如下三个关系:
职工(职工号,姓名,职称)
参与项目(职工号,项目号,项目角色)
项目(项目号,项目名称)
上述三个关系都符合定义2的要求,所以都符合2NF
推论:如果关系模式R&1NF,且它的每一个候选码都是单码,则R&2NF
符合第二范式的关系模式仍可能存在数据冗余、更新异常等问题。如关系
职工信息(职工号,姓名,职称,系名,系办地址)
虽然也符合2NF,但当某个系中有100名职工时,元组中的系办地址就要重复100次,存在着较高的数据冗余。原因是关系中,系办地址不是直接函数依赖于职工号,而是因为职工号函数决定系名,而系名函数决定系办地址,才使得系办地址函数依赖于职工号,这种依赖是一个传递依赖的过程。
所以,上述职工信息的关系模式还需要进一步的规范化。
四、第三范式(3NF)
定义1:在关系R中,X、Y、Z是R的三个不同的属性或属性组,如果X&Y,Y&Z,& 但Y&X,且Y不是X的子集,则称Z传递函数依赖于X。
定义2:如果关系模式R&2NF,且它的每一个非主属性都不传递依赖于任何候选码,则称R是第三范式,记作:R&3NF
推论1:如果关系模式R&1NF,且它的每一个非主属性既不部分依赖、也不传递依赖于任何候选码,则R&3NF
推论2:不存非主属性的关系模式一定为3NF
五、改进的3NF&&BCNF(Boyee-Codd Normal Form)
定义:设关系模式R(U,F)&1NF,若F的任一函数依赖X&Y(YX)中X都包含了R的一个码,则称R&BCNF。
换言之,在关系模式R中,如果每一个函数依赖的决定因素都包含码,则R&BCNF
推论:如果R&BCNF,则:
&OR中所有非主属性对每一个码都是完全函数依赖;
&OR中所有主属性对每一个不包含它的码,都是完全函数依赖;
&OR中没有任何属性完全函数依赖于非码的任何一组属性。
定理:如果R&BCNF,则R&3NF一定成立。
证明:(结合传递依赖的定义,用反证法)
注意:当R&3NF时,R未必属于BCNF。因为3NF比BCNF放宽了一个限制,它允许决定因素不包含码。例如:
通讯(城市名,街道名,邮政编码)中:
F={(城市名,街道名)&邮政编码,邮政编码&城市名}
非主属性邮政编码完全函数依赖于码,且无传递依赖,故属于3NF,但邮政编码也是一个决定因素,而且它没有包含码,所以该关系不属于BCNF。
Teaching(Student,Teacher,Course) 简记为Teaching(S,T,C)
规定:一个教师只能教一门课,每门课程可由多个教师讲授;学生一旦选定某门课程,教师就相应地固定。
F={T&C,(S,C)&T,(S,T) &C}
该关系的候选码是(S,C)和(S,T),因此,三个属性都是主属性,由于不存在非主属性,该关系一定是3NF。但由于决定因素T没包含码,故它不是BCNF。
关系模式Teaching仍然存在着数据冗余问题,因为存在着主属性对码的部分函数依赖问题。
确切地表示:F={T&C,(S,C)P&T,(S,T) P&C}
所以Teaching关系可以分解为以下两个BCNF关系模式:
Teacher(Teacher,Course)&&&&& Student(Student,Teacher)
3NF的&不彻底&性,表现在可能存在主属性对码的部分依赖和传递依赖。
一个关系模式如果达到了BCNF,那么,在函数依赖范围内,它就已经实现了彻底的分离,消除了数据冗余、插入和删除异常。
6.4 多值依赖和第四范式
一、多值依赖(Multivalued Dependency)
<img width="292" hspace="12" height="277" align="left" v:shapes="_x" alt="文本框: 课程C 教员T 参考书B
物理 李勇 普通物理学
物理 李勇 光学原理
物理 李勇 物理习题集
物理 王军 普通物理学
物理 王军 光学原理
物理 王军 物理习题集
数学 李勇 数学分析
数学 李勇 微分方程
数学 李勇 高等代数
数学 张平 数学分析
数学 张平 微分方程
数学 张平 高等代数
计算数学 张平 数学分析
计算数学 张平 计算数学
计算数学 周峰 数学分析
计算数学 周峰 计算数学" src="http://dcxy./WebTheathing/dbs_theory/chapter6.files/image012.gif"/>
<img width="294" hspace="12" height="198" align="left" v:shapes="_x" alt="文本框: 课程C 教员T 参考书B
王军 普通物理学
物理习题集
张平 数学分析
计算数学 张平
周峰 数学分析
计算数学" src="http://dcxy./WebTheathing/dbs_theory/chapter6.files/image013.gif"/>
例:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书,每个教员可以讲授多门课程,每种参考书可以供多门课程使用。下列是用一个非规范化的表来表示教员T,课程C和参考书B之间的关系。
把上表变换成一张规范化的二维表Teaching,如右表
关系模式Teaching(C,T,B)的码是(C,T,B),即All-Key。因而Teaching&BCNF。按照上述语义规定,当某门课程增加一名讲课教员时,就要向Teaching表中增加与相应参考书等数目的元组。同样,某门课程要去掉一本参考书时,则必须删除相应数目的元组。
对数据的增、删、改很不方便,数据的冗余也十分明显。如果仔细考察这类关系模式,会发现它具有一种称之为多值依赖的数据依赖关系。
定义:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,且Z=U-X-Y。如果对R(U)的任一关系r,给定一对(x,z)值,都有一组y值与之对应,这组y值仅仅决定于x值而与z值无关。则称Y多值依赖于X,或X多值决定Y,记作:X&&Y。――
例如,在关系模式Teaching中,对于一个(C,B)值(物理,普通物理学),有一组T值{李勇,王军},而这组值仅仅决定于课程C上的值(物理)。即对于另一个(物理,光学原理),它对应的T值仍然是{李勇,王军},所以T的值与B的值无关,仅决定于C的值,即C&&T 。
多值依赖的另一个等价的形式化定义为:
设关系模式R(U),X、Y、Z是U的子集,Z=U-X-Y,r是R的任意一个关系,t1、t2是r的任意两个元组。如果t1[X]=t2[X],并在r中存在两个元组t3、t4,使得:
t3[X]=t4[X]=t1[X]
t3[Y]=t1[Y],t3[Z]=t2[Z],
t4[Y]=t2[Y],t4[Z]=t1[Z]
成立,则X&&Y。
换句话说:如果X&&Y在R(U)中成立,则只要在R的任一关系r中存在两个元组t1、t2在X属性上的值相等,则交换这两个元组在Y(或Z)上的值后得到的两个新元组t3、t4也必是关系r中的元组。
定义中如果Z=Ф(空集),则称X&&Y为平凡的多值依赖,否则为非平凡的多值依赖。
多值依赖具有如下性质:
1.对称性:若X&&Y,则X&&Z,其中Z=U-X-Y
2.传递性:若X&&Y,Y&&Z,则X&&Z-Y
3.若X&&Y,X&&Z,则X&&YZ
4.若X&&Y,X&&Z,则X&&Y&Z
5.若X&&Y,X&&Z,则X&&Y-Z,X&&Z-Y
多值依赖与函数依赖相比,具有下面两个基本区别:
(1)多值依赖的有效性与属性集的范围有关
若X&&Y在U上成立,则在V(XYVU)上一定成立;反之则不然,即X&&Y在V(VU)上成立,在U上并不一定成立。这是因为多值依赖的定义中不仅涉及属性组X、Y,而且涉及U中的其余属性Z(Z=U-X-Y)。
一般地说,在R(U)上若有X&&Y在V(VU)上成立,则称X&&Y为R(U)的嵌入型多值依赖。
而在关系模式R(U)中函数依赖X&Y的有效性,仅决定于X和Y这两个属性集的值。只要在R(U)的任何一个关系r中,元组在X和Y上的值使得X&Y成立,则X&Y在任何属性集V(XYVU)上也成立。
(2)若函数依赖X&Y在R(U)上成立,则对于任何Y& Y 均有X&Y& 成立。而多值依赖X&&Y若在R(U)上成立,却不能断言对于任何Y& Y有X&&Y& 成立。
多值依赖的约束规则:在具有多值依赖的关系中,如果随便删去一个元组,就会破坏其对称性,那么,为了保持多值依赖关系中的&多值依赖&性,就必须删去另外的相关元组以维持其对称性。这就是多值依赖的约束规则。目前的RDBMS尚不具有维护这种约束的能力,需要程序员在编程中实现。
函数依赖可看成是多值依赖的特例,即函数依赖一定是多值依赖。而多值依赖则不一定就有函数依赖。
二、第四范式(4NF)
定义:如果关系模式R&1NF,对于R的每个非平凡的多值依赖X&&Y(YX),X含有码,则称R是第四范式,即R&4NF
<img width="282" hspace="12" height="291" align="left" v:shapes="_x" alt="文本框: 课程C 教员T 参考书B
物理 李勇 普通物理学
物理 李勇 光学原理
物理 李勇 物理习题集
物理 王军 普通物理学
物理 王军 光学原理
物理 王军 物理习题集
数学 李勇 数学分析
数学 李勇 微分方程
数学 李勇 高等代数
数学 张平 数学分析
数学 张平 微分方程
数学 张平 高等代数
计算数学 张平 数学分析
计算数学 张平 计算数学
计算数学 周峰 数学分析
计算数学 周峰 计算数学
Teaching关系" src="http://dcxy./WebTheathing/dbs_theory/chapter6.files/image020.gif"/>
关系模式R&4NF时,R中所有的非平凡多值依赖实际上就是函数依赖。因为每一个决定因素中都含有码,所以R一定属于BCNF。
4NF实际上就是限制关系模式的属性间不允许有非平凡,而且非函数依赖的多值依赖存在。反过来说,4NF所允许的非平凡多值依赖实际上是函数依赖。
例题中的Teaching关系属于BCNF,但它不属于4NF。因为它的码是(C,T,B),关系中存在非平凡多值依赖C&&T ,C&&B,但C不包含码,而只是码的一部分。
要使Teaching关系符合4NF,必须将其分解为CT(C,T)和CB(C,B)两个关系模式。如右表:
从表中显而易见,符合BCNF的关系Teaching仍然存在着数据冗余,而分解后的关系CT和CB中只有平凡多值依赖,所以符合4NF,它们已经消除了数据冗余。可以说:BCNF是在只有函数依赖的关系模式中,规范化程度最高的范式,而4NF是在有多值依赖的关系模式中,规范化程度最高的范式。
如果关系模式中存在连接依赖,即便它符合4NF,仍有可能遇到数据冗余及更新异常等问题。所以对于达到4NF的关系模式,还需要消除其中可能存在的连接依赖,才可以进一步达到5NF的关系模式。
关于连接依赖和5NF的内容,已超出了本课程教学大纲的要求,在此不再介绍。
6.5& 关系的规范化程度
在关系数据库中,对关系模式的基本要求是满足第一范式。符合1NF的关系模式就是合法的,允许的。但是人们发现有些关系存在这样那样的问题,就提出了关系规范化的要求。
&O关系规范化的目的,是解决关系模式中存在的数据冗余、插入和删除异常、更新繁琐等问题。
&O关系规范化的基本思想是,消除数据依赖中不合适的部分,使各关系模式达到某种程度的分离,使一个关系只描述一个概念、一个实体或实体间的一种联。所以规范化的实质就是概念单一化的过程。
&O关系规范化的过程是通过对关系模式的分解来实现的。把低一级的关系模式分解为若干高一级的关系模式。
&O规范化程度越高,分解就越细,所得关系的数据冗余就越小,更新异常也会越少。
是,规范化在减少关系的数据冗余和消除更新异常的同时,也加大了系统对数据检索的开销,降低了数据检索的效率。因为关系分得越细,数据检索时所涉及的关系
个数就越多,系统只有对所有这些关系的进行自然连接,才能获取所需的全部信息。而连接操作所需的系统资源和开销是比较大的。所以不能说,规范化程度越高的
关系模式优良。
&O规范化应满足的基本原则是:由低到高,逐步规范,权衡利弊,适可而止。通常以满足第三范式为基本要求。
&O关系模式的分解是通过投影运算实现的。而这种投影分解的方案不是唯一的。所以投影的过程还应满足下列三个条件:
n分解是无损连接分解,分解后所得各关系,通过连接要能恢复出分解前的数据。不能少也不能多。
n分解所得的所有关系都是高一级的范式的关系
n分解所得关系的个数要最少。
6.6& 函数依赖公理与模式分解
在规范化理论中,模式分解以及分解是否等价是有一定算法的。函数依赖公理系统是模式分解算法的基础,它可以从已知的函数依赖推导出其它的函数依赖。
下面首先讨论函数依赖的一套推理规则,这套规则是由Armstrong于1974年提出来的,因此常被称为Armstrong公理系统。
一、函数依赖公理
Armstrong公理系统:
设有关系模式R(U,F),X,Y,Z,WU,则对R(U,F)有:
&OA1(自反律):若YX,则X&Y;(由自反律所得到的函数依赖均是平凡的函数依赖)
&OA2(增广律):若X&Y,则XZ&YZ&&& (YZ=Y&Z)
&OA3(传递律):若X&Y,Y&Z,则X&Z。
这些规则是保真的,它们不会产生错误的函数依赖。
引理1:Armstrong公理是正确的。即如果函数依赖F成立,则由F根据Armstrong公理所推导的函数依赖总是成立的。(并且被称为F所蕴含的函数依赖)
证明:设t1,t2是关系R中的任意两个元组。
定理1:Armstrong公理是正确的、完备的。
由Armstrong公理系统,可以得到以下三个推论:
&O合成规则:若X&Y,X&Z,则X&YZ;
&O分解规则:若X&YZ,则X&Y,X&Z;
&O伪传递规则:若X&Y,YW&Z,则XW&Z。
根据合成规则和分解规则很容易得到这样的重要事实。称之为引理2:
引理2:X&A1 A2&Ak成立的充分必要条件是X&Ai成立(i=1,2,&,k)。
例:证明:对R(A,B,C,G,H,I),F={A&B,A&C,CG&H,CG&I,B&H},存在:A&H,CG&HI,AG&I
求证:(1)由于A&B,B&H,依传递律,可得A&H
&&&&& (2)由于CG&H,CG&I,依合成规则,可得 CG&HI
(3)由于A&C,CG&I,依伪传递律,可得AG&I。也可另证为:
&&&&&& 由A&C,依增广律,得AG&CG,又CG&I,依传递律,得:AG&I
二、闭包及其计算
定义:R(U,F),由Armstrong公理从F推出的函数依赖X&Ai中Ai的属性集合,为X的属性闭包,记作:X+,读作X关于函数依赖集F的闭包。
也有的书上这样表示:XF+={A|X&A能由F根据Armstrong公理导出}
由引理2可以推出引理3:
设R(U,F),X,YU,则从F推导出X&Y的充要条件是YX+
如果要判断X&Y是否能由F根据Armstrong公理导出,只需求出X+,并判断Y是否为X+的子集即可。
那么,只要求出X+,一切问题就都解决了。书上有一个求X+的算法。其基本思想是:
首先明确X+的含义是X所能函数决定的所有被决定因素的集合。然后,只要能证明某个属性或属性组函数依赖于X,便能确定它属于X+,因为X&X是无争的事实,所以X应属于X+,然后在F中寻找其决定因素包含于X的函数依赖,若存在,则它的被决定因素也应属于X+,(若Y&Z,则WY&WZ,从而可分解为WY&W和WY&Z)。依次类推,找出F中所有决定因素包含于所求出的中间集的所有函数依赖,并把它们的被决定因素都并到该闭包的中间集中。直到在F中再也找不到符合上述条件的函数依赖时。所求的闭包集就是最终的闭包。
下面通过一个例子来说明。
例:R(U,F),其中U={A,B,C,D,E,I},F={A&D,AB&C,BI&C,ED&I,C&E},求(AC)+
解:(1)令X={AC},则X(0)=AC;
(2)在F中找出左边是AC子集的函数依赖:A&D,C&E;
(3)X(1)=X(0)&D&E=ACDE;
(4)很明显X(1)&X(0);
(5)在F中找左边是ACDE子集的函数依赖:ED&I;
(6)X(2)=X(1)&I =ACDEI ;
(7)虽然X(2)&X(1),但是F中未用过的函数依赖的左边属性已没有X(2)的子集,所以停止计算,输出(AC)+=X(2)=ACDEI。
三、函数依赖的覆盖
函数依赖集的闭包:关系模式R(U,F)中为F所逻辑蕴含的函数依赖的全体叫做F的闭包,记为F+。
函数依赖的覆盖:设F和G是关系模式R(U)上的两个函数依赖集,如果F+=G+,则称F和G是等价的,记作F&G。也可以说F覆盖G,或G覆盖F,或F、G相互覆盖。
两个引理:(1)F&G的充分必要条件是F G+、G F+
(2)任一函数依赖集,总可以为一右边全是单属性的函数依赖集所覆盖。
对上述引理(1)是显而易见的。引理(2)可以这样理解,根据函数依赖的分解规则,任一个右部为属性组的函数依赖都可以分解为右部为单属性的若干个函数依赖。所以,对于任一个函数依赖集,总可以找到一个右边全是单属性的函数依赖集覆盖它。
定义:如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,或称最小依赖集或最小覆盖。
&OF中任一函数依赖的右部都是单属性;
&OF中任一函数依赖X&A,都不会使F与F-{X&A}等价。
&OF中任一函数依赖X&A,X的任一真子集Z,不会使F-{X&A}&{Z&A}与F等价。
上述第二个条件保证了F中不存在多余的函数依赖,第三个条件保证了F中每个函数依赖左部没有多余的属性。要注意上列条件三中的下划线部分,并注意 Z&A不是一个函数依赖,而是指Z&X的一组Z&A。并且F-{X&A}&{Z&A}是不确切的。
定理:任一函数依赖集F均等价于一个极小的函数依赖集Fm。
最小的依赖集可以上述定义为基本思想所确定的算法求解。下面以P113页例6.5为例来介绍最小依赖集的求解过程。
(讲课时参照书上例子讲)
四、关系模式的分解
关系模式经分解后,应与原来的关系模式等价。即两者对数据的使用者来说应是等价的。即对分解前后的关系,做相同内容的查询,应产生相同的结果。这是对模式分解的基本要求。
历年来,人们对等价的概念形成了三种不同的定义:
&O分解具有&无损连接性&(Lossless join);
&O分解具有&函数依赖保持性&(Preserve dependency);
&O分解既要具有&无损连接性&,又要具有&函数依赖保持性&
下面分别介绍无损连接性和函数依赖保持性两个概念的含义及其判定算法。
1、无损连接性:
对关系模式分解时,原关系模式下任一合法的关系实例,在分解之后,应能通过自然连接运算恢复起来。所以无损连接性有时也称为无损分解。
(下列定义按照课时的情况选择讲解或不讲)
定义:设&={R1,R2,&,Rk}是关系模式R(U,F)的一个分解,如果对于R的任一满足F的关系r,都有 r=&R1(r)?&R2(r)?&?&Rk(r),则称分解&是满足函数依赖集F的无损连接分解或无损分解。
关于无损连接性的判断算法很巧妙,也很容易理解,在课堂上不讲,但有可能出现此类考题,请同学们自己看书学习。
(有时间时可以讲书上例子P114下部例6.6)
2、函依赖保持性:
函数依赖集的投影:设有关系模式R(U,F),Z&U,则Z所涉及到的F中所有函数依赖为F在Z上的投影,记为&Z(F),有& &Z(F)={X&Y|(X&Y)&F+且XY&Z}
函数依赖保持性:设R(U,F)的一个分解&={R1,R2,&,Rk},如果F等价于
&R1(F)&&R2(F)&&&&Rk(F)
&&& 则称分解&具有函数依赖保持性。
一个无损连接的分解不一定具有函数依赖保持性;同样地,一个具有函数依赖保持性的分解也不一定具无损连接性。
检验一个分解是否具有依赖保持性,实际上是检验&R1(F)&&R2(F)&&&&Rk(F)是否覆盖F。
(书上关于它的算法令人费解。可以不讲)
介绍P114页例6.6是一个具有依赖保持性的分解。
在实际数据库设计中,关系模式的分解主要有两种准则:
(1)只满足无损连接性;
(2)既满足无损连接性,又满足函数依赖保持性。
准则(2)比(1)更理想,但分解时受到更多的限制。如果一个分解,只满足函数依赖保持性,而不满足无损连接性,是没有实用价值的。所以无损连接性是模式分解必须满足的条件。
(本章小结在书P116页下半部,书上内容通俗易懂,无需讲解。有时间的话可以择其要者而读之。)
&#8212; FlyingCS @ 10:32 pm
详细设计说明书& 转载自国家计算机标准和文件模板  日& & 1&引言&
1.1编写目的
  说明编写这份详细设计说明书的目的,指出预期的读者。
  说明:   a.待开发软件系统的名称;&   b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。&
  列出本文件中用到专门术语的定义和外文首字母组词的原词组。
1.4参考资料&
  列出有关的参考资料,如:&   a.本项目的经核准的计划任务书或合同、上级机关的批文;   b.属于本项目的其他已发表的文件;   c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。&列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
2 程序系统的结构
  用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间&的层次结构关系。
3 程序1(标识符)设计说明&
  从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。&对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层&模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。&
3.1程序描述&
  给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如&是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发&处理卜…..等)。
  说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
  说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
3.4输人项&
  给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。&数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
3.&5输出项&
  给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、&数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
  详细说明本程序所选用的算法,具体的计算公式和计算步骤。
3.7流程逻辑&
  用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
  用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。&
3.9存储分配&
  根据需要,说明本程序的存储分配。&
3.10注释设计&
  说明准备在本程序中安排的注释,如:   a.&加在模块首部的注释;   b.加在各分枝点处的注释;&对各变量的功能、范围、缺省条件等所加的注释;&   d.对使用的逻辑所加的注释等等。&
3.11限制条件&
  说明本程序运行中所受到的限制条件。
3.12测试计划&
  说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
3.13尚未解决的问题
  说明在本程序的设计中尚未解决而设计者认为在软件完成之前应解决的问题。
4 程序2(标识符)设计说明
  用类似3的方式,说明第2个程序乃至第N个程序的设计考虑。
&#8212; FlyingCS @ 3:51 pm
概要设计说明书& 转载自国家计算机标准和文件模板  日&
1.1编写目的&
  说明编写这份概要设计说明书的目的,指出预期的读者。
  说明:   a.待开发软件系统的名称;   b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
  列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料&
  列出有关的参考文件,如:   a.本项目的经核准的计划任务书或合同,上级机关的批文;   b.属于本项目的其他已发表文件;   c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。&列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。&
2 总体设计&
2.1需求规定&
  说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。
2.2运行环境&
  简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
2.3基本设计概念和处理流程&
  说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
  用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.
2.5功能器求与程序的关系
  本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
2.6人工处理过程
  说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
2.7尚未问决的问题
  说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
3 接口设计&
3.1用户接口
  说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
3.2外部接口&
  说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接&口关系。
3.3内部接口
  说明本系统之内的各个系统元素之间的接口的安排。
4 运行设计&
4.1运行模块组合&
  说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
4.2运行控制&
  说明每一种外界的运行控制的方式方法和操作步骤。
4.3运行时间
  说明每种运行模块组合将占用各种资源的时间。
5 系统数据结构设计&
5.1逻辑结构设计要点&
  给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。&
5.2物理结构设计要点
  给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。&
5.3数据结构与程序的关系&
  说明各个数据结构与访问这些数据结构的形式:
6 系统出错处理设计
6.1出错信息&
  用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
6.2补救措施
  说明故障出现后可能采取的变通措施,包括:   a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;   b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;   c.恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。&
6.3系统维护设计&
  说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块
&#8212; FlyingCS @ 3:50 pm

我要回帖

更多关于 bi工具软件 的文章

 

随机推荐