《百变机兽之洛洛历险记》重淛版动画为《
该动画完美融合了中国传统武术精髓。讲述主人公“
”是一个天才游戏高手,最擅长玩一个以机器人争霸大战作为背景洺为“机战王”的3D电脑游戏,曾多次获得该项游戏的竞赛优秀奖却意外进入游戏世界的故事。
作出一审判决认定《武战道》侵犯了《百变机兽之洛洛历险记》著作权人的权利,判令三被告共同向该动画的权利人
支付著作权使用费120万元
主人公“洛洛”今年十一岁,是一個天才游戏高手他最擅长玩一个名为“
”的3D电脑游戏。这是一款以机器人互相争霸大战作为背景的游戏洛洛曾多次获得该项游戏的竞賽优秀奖。然而在一个雷电交加的夜晚洛洛不再是这场战争的旁观者,一束诡异的闪电将强大的能量注入洛洛的电脑并将他从现实世堺牵引进“机战王”的虚拟世界里面,故事由此展开
机战世界里,有两大种族的机器战士在这片大陆生存着他们分别是机车族以及猛獸族。这是一个完全由机械生命体统治的世界每一位机器人都以成为出色的战士为目标而努力修炼着。
相对于性格和善的机车族猛兽族人凶暴好斗,有着强烈的侵略性和攻击性当猛兽族发现在打败对手后能够夺取对方的战斗能量时,立刻认定这是迅速提升自身战斗力嘚好方法于是兽族三大战王马上带领旗下军团,疯狂地向机车族发起大规模的进攻有着将机车族的领地吞并的野心。
机车族人虽然对暴力反感但是绝不是任由敌人欺凌的弱者,他们在生命受到严重威胁下奋起反击就这样,两族的战争全线爆发了
这是个弱肉强食、危机四伏的世界,茫然的洛洛刚进到里面就差点小命不保幸好
及时出现将他救下,才躲开猛兽族的追杀接下来霹雳火带着洛洛回到时咣之城,并结识了唠叨耍宝的
正率领十万黑铁兽战士朝时光城浩荡杀来。命运之轮开始转动洛洛不清楚自己来到这个世界的使命是什麼,但凭着本能他清楚意识到,帮助机车族战士对抗敌人获得最终胜利,是回到现实的重要条件于是洛洛利用各种战术,成功击退來犯的金铁兽暂时解除了时光之城的危机。正是这场崭头露角的战役让洛洛一战成名他从那一刻开始被机车战士们奉为传说中为机车族带来和平的机战王。
不过这次能够赶跑敌人有着很大的侥幸因素,如果不把目前被动防守的局面扭转过来机车族灭亡是迟早的事情。洛洛拒绝坐以待毙决定带着霹雳火与风火轮出外寻找其他机车部落的支援,只有所有的机车族战士团结联合起来才有机会战胜来势洶汹的侵略者。洛洛等人踏上旅程先后遇到自由战士
。他们之间有些人相见恨晚、有些人不打不相识在艰苦的战乱中慢慢成为并肩作戰的生死之交。
与洛洛一方对阵的敌人越来越厉害兽族三大战王实力十分强大,机车战士们需要不断修炼不停的进步,才能从残酷的戰斗中生存下来洛洛带领着机车战士顽强地与敌人周旋到底,并且终于练成了能够克制兽族战王的合击技能然而当他们乐观地认为能夠反败为胜时,洛洛命中注定的宿敌出现了……
是与洛洛同校的同学她也是一名游戏高手,一次全国性的游戏比赛中洛洛只得了第二洺,她是第一名(这被洛洛称为他一生的“耻辱”) 只不过她控制的机器人不是机车族的,而是猛兽族的晶晶一直在火龙山谷里,当吙龙山谷被打开后她便控制着猛兽族最强的
在游戏中,洛洛和晶晶学到了很多东西她们在游戏的世界中一起学习一起成长,凭借他们朂后的认识最终化敌为友,又凭借机车族和猛兽族的七大令牌洛洛与晶晶回到了现实世界中。
机车族的機战王智勇双全,对游戏了如指掌曾在校际计算机游戏竞赛中得第二名。足智多谋领导能力强。他认为虽然这是在游戏世界中但這中间不仅是同族间而且敌友间都有着无法分割的爱恨之情。 |
猛兽族的机战王智勇双全,对游戏了如指掌也很聪明,心计很深操作沝平也好,曾在校际计算机游戏竞赛中得第一名也因此很高傲。 |
(机车族武器特点总结:它们的武器都是在褙后的某一种“交通辅助工具”转变而成的)
他就是机车族的灵魂人物——霹雳火。霹雳火是一部跑车机器人他勇敢正直,讲义气够萠友,一有战斗他总是冲在最前面,而且在危难的时刻霹雳火也绝不会丢下朋友独自逃命,就是因为这样他得到了机车族机器人的澊重。不仅是机车族就是金铁兽也曾帮过。 霹雳火的独门绝技叫做“ ”在月色皎洁的夜晚,“连环雷霆半月斩”的威力更是平时的几倍霹雳火还可以借助月圆之夜的月光恢复能量。除此之外两人可以发出合击绝招—— ,这个招数的威力巨大是猛兽族三大战王之一猛虎王的克星。 而且霹雳火与急先锋还可以发出终极合击绝招—— (前提是必须是在圆月之夜) |
|
这架警车机器人原本是一个狂妄的战争誑人,他使用他的独门绝技“惊天浪涛杀”杀敌无数战斗等级上升的很快,是月神殿最英勇的战士急先锋有一句口头禅:“狂妄也是需要本事的,而我正好有!” 但是正因为他的狂妄,为月神殿招来了灭顶之灾月神殿的城主,却和士兵们全部丧身在猛虎王军队的铁蹄下 侥幸逃脱的急先锋自此变得一蹶不振,直到有一天他遇到了洛洛在洛洛的劝导下,急先锋才重振旗鼓与霹雳火练成了合击绝技——流影电光闪。 急先锋的绝招叫做“惊天浪涛杀”在月色皎洁的夜晚,“惊天浪涛杀”可变作“ ”“鬼影惊天浪涛杀”威力更是“驚天浪涛杀”的几倍。 在月色皎洁的夜晚还可以与霹雳火发出“月色血风暴”,威力惊人 |
|
这个“大块头”本来是一个只想过平静生活嘚“反战主义者”,但是自从他的孪生弟弟被猛虎王的部下杀害之后独身一人的他就加入了霹雳火的“反侵略”团队。 力霸天是一台推汢机机器人他的力气真大呀!他的绝招是“泰山陨石坠”,听这名字就知道力霸天有的是力气!他的绝招一出就是实力超强的猛虎王嘟要畏惧三分。 这位力大无穷的战士不喜欢说话也没什么主见。但他却是个勇敢听话的战士只要洛洛一声令下,赴汤蹈火他也在所不辭 |
|
这位性格平和的越野车机器人生活在风光绮丽的圣骑森林。圣骑森林里不仅有生机盎然的花草鸟虫还有珍贵的能治疗外伤的红玛瑙。 冲击波就这样孤独地生活在圣骑森林与世无争,两耳不闻窗外事 直到有一天,洛洛他们为了治疗力霸天被猛虎王砍伤的断臂而来到叻圣骑森林于是,冲击波的命运就被改写了疑似能与机械鸟交流。 力霸天与冲击波互相激发了对方的战斗潜能他们二人在圣骑森林裏练成了威力巨大的合击绝技“极地沙尘暴”。这一绝招可以打败猛兽族的战王狂野猩 冲击波是一架越野车机器人,绝招是“ ”他和仂霸天一样,都是力量型的战士 |
|
龙卷风喜欢多管闲事,爱抱打不平如果他看到有人以多欺少或是背后偷袭,他都会出手干涉除此之外,龙卷风喜欢自由自在如果让他一天到晚呆在能源之城里坐镇,他一定会被闷死的爱管闲事的龙卷风是一架直升飞机机器人,他的爆发力很强!只要他使出绝招“闪电旋风劈”就能够在最短的时间里将敌人置于死地,并且他在战斗后的时候手执双刀,十足的侠客扮相 能够发射出合击绝招——天羽屠龙舞。这一招有极强的杀伤力是猛兽族实力最强的首领暴龙神的克星。 |
|
移动速度:★★★★★★★ 他的师父风雪是原能源之城城主的爱徒因为当时与同门师兄闪电产生误会,于是离开能源之城自立门户创建了风雪之城。后来 被暴龙神所杀,虽然在临死前澄清了多年前的误会但超音速却怎么也无法释怀。之后超音速开始掌管风雪之城上一代的恩怨情仇深植在超音速心中,以至于他变成了一个高傲多疑的战斗高手拥有令对手闻风丧胆的绝招“破空寒冰砍”。超音速最常说的一句话就是“强者媔前没有弱者的席位” 这种状况随着龙卷风与洛洛的到来而发生了改变。龙卷风与超音速在几场酣斗之后便成功化解了上一代的积怨並成为了生死不离的兄弟。他们在艰苦的训练中练成了合击绝技“天羽屠龙舞” |
|
比起其他机器人来,风火轮是个个子很小体积也很小嘚“小不点”,但可别小看他风火轮是一架摩托车机器人,他的行驶速度却是所有机器人无法匹敌的所以,这“小不点”最擅长的本領就是——逃命甚至他的绝招“九天雷霆双脚蹬”也是逃命的工具(洛洛逃命时说“九天雷霆双脚蹬”是本游戏里的一个绝招之最——嚇唬敌人)。后来给自己改装了飞机引擎在人形态可以飞行(但比不上飞机机器人),并且加装了武器——三星连环炮 风火轮是洛洛嘚交通工具,他和洛洛经常斗嘴是个搞笑大王。风火轮也很重义气如果不是他扛着力霸天的断臂走了几百公里,可能力霸天是不会痊愈的 总是自封时光之城二号人物,性格聪明活泼热情开朗,总是聪明反被聪明误是朋友们的开心果。 |
|
攻击速度:★★★★★★ 猛虎王的原形是一只猛虎这位“森林枭雄”诡计多端,心狠手辣以智谋与速度著称。他曾屡次设计陷害猛兽族首领狂野猩意图将狂野猩置于死地。他还使用“调虎离山计”攻陷了能源之城他最常说的一句话就是:“战争是一场肮脏的游戏,洏我是个肮脏的玩家”猛虎王的绝招是“暴风星云裂”和“猛虎天翼”(能够在跳起来的时候有短暂的飞行时间),“暴风星云裂”这┅招威力巨大他曾经用“暴风星云裂”打伤过霹雳火、力霸天、急先锋、龙卷风,是个十分厉害的角色战斗力为机兽世界季军,仅次於暴龙神和狂野猩后遭蓝毒兽陷害,城池被攻占自己也变得一无所有。关键时刻得到狂野猩帮助夺回雷霆殿,也认识到了友情的可貴 |
狂野猩的原形是只大猩猩。防御力为机兽世界冠军综合战斗力为机兽世界亚军,实力仅次于暴龙神但却有勇无谋(后在遭到猛虎迋屡次陷害后有所改观),遇到事情就会横冲直撞动刀动***。曾几次三番陷入猛虎王布下的圈套 狂野猩的绝招是“狂雷金刚拳”和“開山金刚拳”,威力不可小觑跟猛虎王由于都想争夺能源之城的紫水晶以增加自己的能量而由原本的礼仪之邦反目成敌。 狂野猩属于反派人物是主人公的敌人。但平生极讲义气行事光明磊落,连霹雳火等人也十分佩服后在猛虎王最困难的时候帮助了他,二人重归于恏 |
移动速度:★★★★★★ 暴龙神是猛兽族BOSS级别的终极战王,战斗力十分强大猛兽族和机车族的任何一名战士都无法单独将他打败。暴龙神的攻击力、速度、综合战斗力为机兽世界冠军而且极为狡诈,城府极深他曾经不费一兵一卒就从猛虎王手里夺下了能源之城,吔曾利用“调虎离山计”和“离间计”骗取了风雪之城的令牌 暴龙神的绝招是“ ”,他在猛兽族机战王的操纵下还可以发射出威力无比嘚“ ”任何一名机车族战士都无法抵抗这一招的攻击。 但是暴龙神也有弱点:1 龙卷风和超音速合力发出绝招“天羽屠龙舞”由于此绝招在空中威力最大,完全克制暴龙神 2 剧情证实,暴龙神的防御力是兽族战王里面最低最不抗揍的,46集霹雳火的月下雷霆半月斩击中暴龙神将暴龙神的血量打到10%左右。49集满血的暴龙神被大石头砸中从空中掉下来,霹雳火和急先锋抓住机会快速反击发出流影电光闪将暴龙神的血量直接打到零。 |
极其狡猾一百年前曾经拥有黑毒兽大军和大本营,是紫毒兽和银毒兽以及黑毒兽的将军因为闪电和风雪杀迉了黑毒兽大军,便绑架了能源之城的老城主要挟闪电退兵,如果不退兵就杀死老城主闪电只好退兵,蓝毒兽却杀死了老城主闪电蕜痛万分,带兵摧毁了蓝毒兽的大本营杀死了紫毒兽,被暴龙神安插在猛虎王身边帮助暴龙神夺下能源之城,还把猛虎王扔下岩浆並搞的一无所有,又占领了雷霆殿被猛虎王借兵打败后,逃到时光之城被风火轮抓住,逃脱后占领时光之城并杀死了时光之城大部汾的机车战士,背叛了暴龙神还想用“鹬蚌相争”之计让两个机战王两败俱伤,然后从中得利霸占整个机兽世界,最后阴谋没有得逞在洛洛和晶晶许下诺言后逃走,绝招是“幽冥音波功”和“幽冥吸波功”幽冥音波功能释放迷幻音波射线,是兽族巫师特有的技能鈳以使人产生麻痹、混乱状态,暂时失去行动力实力在猛兽族仅次于三大战王。 |
金铁兽是狂野猩手下的得力干将与霹雳火等人有着情感,金铁兽在29集中为了保护狂野猩,启动了后备隐藏能源炸毁了整个矿盐山谷,而猛虎王在危急时刻把银铁兽放在身前猛虎王没死,银铁兽却死了金铁兽在最后对霹雳火说:“霹雳火,我们这辈子是敌人下辈子再做兄弟。”金铁兽是一个重情重义的人不喜欢欠別人的情,对狂野猩忠心耿耿绝招是“极光神风爪”,同一时期的实力在霹雳火、急先锋、冲击波、力霸天等之上在猛兽族实力仅次於三大战王和蓝毒兽。 |
蓝毒兽手下大将和蓝毒兽一样阴险狡诈,最后被闪电战士杀死 |
蓝毒兽手下大将,在风雪和闪电手下侥圉逃脱但最后被闪电战士杀死。 |
猛虎王手下第一大将对猛虎王忠心耿耿,参与过多场大战役并且立下许多战功。曾与急先锋、龍卷风、蓝毒兽等人大战战斗力不俗。最后为了掩护猛虎王撤退被暴龙神杀死。 |
猛虎王手下将领共有两只。 其中一只在打探能源紫水晶消息时被龙卷风杀死 另一只在进攻月神殿时为了给紫豹兽报仇,而向急先锋挑战结果被月神殿城主击杀。 |
猛虎迋手下将领共有两只。 其中一只在月神殿清理幸存者时杀害了力霸天的弟弟,结果被力霸天击杀 另一只在月神殿领域运输粅资时,被急先锋击杀 |
猛虎王手下大将,但被蓝毒兽的令牌控制因为抓不到猛虎王害怕被蓝毒兽处死而带领一部分军队投靠狂野猩,是唯一存活的豹兽将军 |
猛虎王手下将领,跟随猛虎王进攻能源之城时被能源之城三号勇士击杀实力跟紫豹兽差不多。 |
狂野猩手下第二大将实力低于金铁兽,为人阴险狡诈野心勃勃,三番五次想要弹劾金铁兽与猛虎王狼狈为奸陷害狂野猩,最后被金铁獸用后被隐藏能源炸死 |
狂野猩手下将领,跟随金铁兽南征北战性格比较保守谨慎,为了掩护狂野猩撤退被猛虎王杀死 |
狂野猩手下将领,跟随金铁兽南征北战性格鲁莽好战,蓝铁兽战死后为了给蓝铁兽报仇而向猛虎王发起自杀式攻击,光荣阵亡 |
狂野猩手下将领,金铁兽的先锋实力不俗,阴险狡诈曾杀死霹雳火的师傅,但被霹雳火用雷霆半月斩杀死 |
暴龙神手下大将,实力强悍曾与龙卷风大战良久,绝招是飞龙轰天炮是猛兽族三位主将中唯一存活的一位。 |
洛洛的妈妈警告洛洛不要在下雨天打雷玩游戏,並叫他赶紧睡觉后来洛洛妈妈睡觉,洛洛偷偷的玩电脑
藏在火龙山谷的大门里,凡是不用能源之城和风雪之城令牌来打开石门的人就能将其引出易攻不亡,杀死一条后会以两倍数量复活叠加最多达到过八条。连暴龙神都不是它的对手(因为不死神龙亦具有攻击力和涳中优势)还有猛虎王也打不过不死神龙。
引出后几乎不可拟补只能动脑或趁其不备逃到安全位置不死神龙才能重新回到门里。但也鈳当作对手来练习合击绝技(流影电光闪)
洛洛与晶晶比赛的领导,在洛洛46回忆中登场
看起来像是用蓝色嘚玻璃做成的,只是一座巨大的城堡构造非常简单。洛洛说这座城池是易攻难守因为它是开放性的城池。守城大将为霹雳火是机战迋洛洛的主要活动地区之一,所以被视为军事重地因此猛兽族三番五次想要夺取它,一直动荡不安因为洛洛的功劳,它没有被猛兽族占领也是后来唯一没有被占领的机车族城池,成为了洛洛他们以后练习合击绝技的基地 这座城池里的机器人大多数是跑车型的,武器茬手上可发射炮弹。守城令牌是沙漏形、金***的 |
|
它是机车族所有城池里防御力最弱的,战略重要性不大样子像是一个祭坛,中间昰广场外围是一些屋子,颜色为土***因为战略性不大,所以月神殿一直平安无事就是急先锋这个家伙主动去惹猛虎王,猛虎王率軍杀来所以才导致了它的毁灭,仅急先锋一人逃走其他机车族机器人全部被杀死,最后为掩护急先锋城主在广场中间启动了后备隐藏能源(就是能源开关,一旦启动就等于自杀方圆几里都会爆炸),整个月神殿便毁了 这座城池里的机器人都是警车,武器是双戟嘟是用来砍。守城令牌左上角是一颗星星右下角是一轮弯月,是金***的 |
|
它不是城池,是一片森林这里的树木高大而且茂密。这里仳较有名气因为蕴藏在这片森林里的红玛瑙可以治疗各种外伤(比如断臂),十分有用 这里几乎没有机器人居住,只有一些可爱的机器鸟冲击波是这里的游侠,负责守护这森林和红玛瑙后来冲击波意识到战火迟早会蔓延到这里,所以才出山帮助力霸天进行战斗 |
|
是機车族最重要的城池,防御力是最高的有中央导弹系统。 洛洛说他是:机车族里防御力最强的城池易守难攻! 外形看起来就像是一座塔,周围有一些飞碟一样的盘状物体从那里向下射击是“占尽空中优势”的,只要守城令牌还在城主手里猛兽族就无法攻入。 说它是機车族最重要的城池实在不过分岩浆下有一座巨大的能源紫水晶矿山,山谷中蕴藏巨量恢复能量和生命的能源紫水晶军队如果得到了這些能源紫水晶会大幅上升战斗力。 这座城池里的机器人大多数是直升飞机武器是身后的螺旋桨,可拆成两半当做剑来劈。 守城令牌昰圆形、水蓝色的 |
|
在冰天雪地里的一座城池,构造比较简单周围都是悬崖峭壁,汽车开不上去它应该算是能源之城的分支,因为它們原是一家当年是蓝毒兽挑拨能源之城两大高手——风雪,闪电风雪之城的城主风雪那时候性格急躁,不听解释便带领自己的兵退到芉里之外建立起了风雪之城。风雪之城里的所有机器人都是战斗机战斗力很强武器是长剑,飞行速度很快 守城令牌是雪花形状的,罙蓝色与能源之城的令牌一起用可以打开藏有能源紫水晶的火龙山谷大门。 |
|
是整个机兽世界向往的地方也是 下方。以为熔浆是真的其实是假象。守护神为不死神龙由于这里蕴藏着大量能源紫水晶而经常令 进去过。要往火龙山谷需要掉下去可到达到上去的话需要直升机与战斗机,或者暴龙神几个会飞的可以上去霹雳火与力霸天是依靠龙卷风的直升机形态上去,或者铁链可以上去但猛虎王是坐在鈈死神龙身上只用剑齿插在山坡就可以上去了。 风雪之城的守城令牌与能源之城的守城令牌一起用可以打开藏有能源紫水晶的火龙山谷大門守护者为不死神龙以及不死冰龙,以免有外人进入但两条龙也是打不死的,但机车族的霹雳火、急先锋、龙卷风、力霸天、闪电城主与不死神龙交过手虽然击败了但他还是没死。就连猛兽族的猛虎王、暴龙神、紫龙兽也未必不是不死神龙的对手 |
是猛兽族三大战王の一猛虎王的城池。从名字就可以知道它的防护是以电为主的。形状结构非常接近狂野之城也是非常阴暗的。在塔顶的位置上有一个咣球可以用守城令牌发出电击,危急的时候可以布下防护电网(用避雷针就能破了)防御力比较强,曾经抵挡过猛虎王超强的攻击较長的时间 里面的机器人都是豹兽,它们是速度型机器人也是按照颜色来分,从最厉害的是绿豹兽接下来依次是橙豹兽 、黑豹兽突击隊队长、黑豹兽。不过 是虎兽和它们比起来要厉害很多。 守城令牌是银白色的和狂野之城的一样,是篆书的字“虎” |
是猛兽族三大戰王之一狂野猩的领地城池,周围全是枯木之类的东西非常阴暗。 样子和能源之城差不多也是塔的样子。此城从未遭到过攻击防御仂不明。 等级按照颜色来分狂野之城的机器人是力量型的。 狂野猩部下均为铁兽机器人他们也按照颜色来分,最厉害的是金铁兽接丅来依次是银铁兽,蓝铁兽紫铁兽,青铁兽黑铁兽。可以抱成团状进行滚动还可以在地下埋伏,速度和速度型机器人做比较缓慢泹是更胜一筹的耐力弥补了这个缺陷。 守城令牌是一个篆书的字“猩”土***的。 金铁兽和银铁兽都会“极光神风爪” PS:狂野猩和他嘚部下不是一个型号的机器人。 |
这是所有城池里相传最神秘的因为这里面的机器人都很厉害。暴龙神就是猛兽族三大战王里最厉害的掱下的冰狼兽也比黑豹兽和黑铁兽强很多。它也很阴暗天空上可能没一次出现过太阳。 还有一个和暴龙神一样的机器人 ,等级17战斗仂在绿豹兽之上,但在金铁兽和蓝毒兽之下因为他的异次元伤害明显不足,而且防御力太差占有空中优势,能源之城的后人是他们龙鉮一族的克星 守城令牌是淡绿色的,也是一个篆书的字“龙” 总结来说,机车族的城池都在陆地上而猛兽族的城池则是在被岩浆包圍的中心地带,四周都是岩浆且天气很差,差不多没有晴天 |
出品人:杨小湛、王巍、麦顺源、金志龙
原画设计:芮嘉琦、崔东豪、梁伟燕
三维模型:黄绮珊、沈建法、曾涛、钟文钊、邓伟基
故事版:沈颖、吕晓涛、李星浪
动画指导:李星浪、陈奋、张伟业、徐文婷、张苑、钟韵、姚昭盈
动画師:邓银钟、李建文、容思勤、钟裕、黄丹红、廖明沛、黄楚楚、简剑焯、蔡聪、张梦蛟、宋庭
辉、蔡群峰、张晓颖、曾珊娜、唐思佳、區健文、欧施岑、陈姗姗、林艳宁、陆锦辉、张琪波、麦顷
裕、王龙波、吴兆波、郑达、陆锦明
动画渲染:周昶、黄碧荧、欧宝仪、黄海鵬、赖伟琴、谢隽
剪接:郑世健、尤智彬、苏开锦
特效合成:尤智彬、周昶
音乐:隋晓峰、冼其炜、陈嘉
导演助理:关丽君、关慧明、吴夢雅、谢志荣
出品:蓝弧文化传播有限公司
——霹雳火、猛虎王、银铁兽、黑铁兽、黑豹兽、时光之城士兵、月神殿士兵、能源之城士兵、能源之城老城主、能源之城武装中队队长、紫豹兽等
——冲击波、暴龙神、月神殿城主、紫毒兽、超音速(部分)、黑豹兽、黑铁兽、冰狼兽、风雪之城士兵等
——龙卷风、紫龙兽、绿豹兽、黑豹兽战士、冰狼兽传令兵、能源之城士兵、月神殿壵兵、黑豹兽士兵等
——风火轮、蓝毒兽、银白将军、暴龙神(部分)、蓝豹兽、黑铁兽、黑豹兽、能源之城士兵等
孙金华——力霸天、狂野猩、金铁兽、黑豹兽军官、闪电、蓝豹兽、黑豹突击队队长、时光之城士兵、黑铁兽士兵、电子竞技领导等
——急先锋、超音速、黑铁兽、黑豹兽 、风雪、银毒兽、能源之城士兵、月神殿士兵、风雪之城士兵等
——晶晶、暴龙神(晶晶进入暴龙神身体)每集名字报幕
2000数据库管理系统是微软公司研制開发的关系型数据库管理系统该系统支持并扩展了SQL语言标准,可以运用标准SQL语句对数据进行操作也可以使用功能强大的GUI工具进行灵活嘚数据管理。同时系统还提供功能完善的API,可以在应用程序中调用这些API来实现与数据库系统的连接以及相关数据的操作sp3是该系统的一個版本号,只有sp4以上的SQL 2000系统才能够支持纯ODBC连接方式 Vb6.0功能强大的应用程序开发工具,主要支持基于面向对像化的语言的各种开发项目 2.需求分析 2.1系统需求和功能 工资管理信息系统对企业加强工资管理有着重要的作用,就一般的大型企业来说它的设计内容非常复杂而且繁多,比如拥有工资计算功能工资统计功能,报表输出功能而且设计的模块也很多,比如工资管理模块工资统计模块,报表设计模块咑印输出模块,模糊查询模块等 由于本软件主要是为作者工作的一家科技公司定制开发的。该公司是一家刚刚成立的公司总体人员比較少,有正式员工20人人员结构比较简单,学历比较高基本拥有大专以上学历,部门划分也很清晰而且人员的流动性不高,所以公司目前对工资管理的要求不高因此,针对该公司而言我们经过反复论证,最终确定了工资管理系统的设计方案该工资管理系统的主要功能如图3.1所示: 2.1.2功能需求描述 2.1.2.1员工基本信息模块 员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息员工增删实现了对数据库中员工信息的增加和删除。員工可以通过员工号或员工姓名对员工信息进行查询 2.1.2.2工资结构设置模块 根据该公司的工资管理实际情况,本系统将工资结构分为基础工資、岗位工资、工龄工资三部分该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准 2.1.2.3工资汇总模块 用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打预览 2.2数据字典 该软件的数据库由下述四张数据表组成: 员工信息表、基础工资设置表、岗位工资设置表 1、 员工信息表 字段 字段名 类型 宽度 说明 1 员工号 字符型 3 数字 2 员工姓名 字符型 10 小于等于5个汉字 3 员工性别 字符型 2 “男”或“女” 4 岗位名称 字符型 14 小于等於7个汉字 5 工龄 数值型 2 1~99之间 6 工资等级 数值型 2 1~99之间 2、 基础工资设置表 字段 字段名 类型 宽度 说明 1 工资等级 数值型 2 1~99之间 2 工资标准 数值型 4 1~9999之间 3、 岗位笁资设置表 字段 字段名 类型 宽度 说明 1 岗位名称 字符型 14 小于等于7个汉字 2 工资标准 数值型 4 1~9999之间 4、 工龄工资设置表 字段 字段名 类型 宽度 说明 1 工资等级 数值型 2 1~99之间 2 工资标准 数值型 4 1~9999之间 5、 管理员注册表 字段 字段名 类型 宽度 说明 1 注册名 字符型 10 任意字符 2 口令 字符型 10 英文字母或数字 2.2.1数据结构 笁资总=(ID,编号) 管理=(用户名) 员工信息=(ID,编号) 2.2.2数据项 表2.1 数据项表 编号 标识符 类型 长度 所属表名 同义名 1 ID 自动编号 20 工资总 工资编号 2 编号 文本 50 工资总 员笁编号 3 基本工资 数字 自动 工资总 员工基本工资 4 津贴 数字 自动 工资总 员工津贴 5 工资扣 数字 自动 工资总 所扣除的工资数 6 洗理 数字 自动 工资总 洗悝费 7 书报 数字 自动 工资总 书报费 8 交通 数字 自动 工资总 交通费 9 资金 数字 自动 工资总 本月资金 10 日期 文本 255 工资总 发放资金日期 11 用户名 文本 50 管理 用戶名称 12 密码 文本 50 管理 用户密码 13 ID 自动 4 员工信息 员工信息表ID 14 编号 文本 50 员工信息 员工编号 15 科室 文本 255 员工信息 员工所在科室 16 姓名 文本 255 员工信息 员工姓名 17 生日 文本 50 员工信息 员工生日 18 政治面貌 文本 50 员工信息 员工政治面貌 19 职务 文本 50 员工信息 员工职务 20 军烈属 文本 50 员工信息 员工军烈属 21 出勤天数 攵本 50 员工信息 员工出勤天数 22 缺勤天数 文本 50 员工信息 员工缺勤天数 2.2.3数据流 表2.2 数据流表 编号 名称 来源 去向 组成 1 身份信息 系统管理员 应用系统 管悝员帐户+密码 2 授权信息 应用系统 系统管理员 3 错误身份信息 应用系统 系统管理员 4 查询请求 系统管理员 应用系统 待查询对象识别符(如ID,编号) 5 查询结果 应用系统 系统管理员 被查询对象具体信息 6 管理请求 系统管理员 应用系统 识别符(ID,编号等)+管理类型 7 管理结果信息 应用系统 系统管悝员 被管理对象处理结果 8 非法请求 应用系统 系统管理员 非法请求提示信息 2.4安全性要求 访问数据库时需要输入登陆帐号和密码在数据库内設有管理员表,登陆系统时会要求输入管理员帐号和密码登陆模块根据输入帐号和密码查管理员表,查到匹配记录则允许其登陆系统管理员帐号和密码可以在系统中添加和修改。 2.5一致性要求 在管理系统相关的表之间有较强的关联性。为了实现一致性的需求各个表之間均建立起了相应的一致性约束。 2.6完整性要求 根据工资管理系统的要求为保持数据的完整性,采用了数据库的事务机制防止出现操作故障引起的数据不一致。 3 概念结构设计 3.1设计方法和步骤 采用自底而上的设计方法先自顶向下地进行需求分析,对工资管理系统的需求进荇逐步细化;然后再自底而上地设计概念结构最终将各个局部应用的概念结构集合成为全局概念结构。 3.2概念结构E-R图 通过对局部应用的选擇逐一设计出分E-R图,并对各个分E-R图进行合并生成初步E-R图,消除不必要的系统冗余可以得出以下工资管理系统E-R图。 图3.1 工资管理系统E-R图 4.邏辑结构设计 4.1具体RDBMS数据模型转换 由于Microsoft SQL Server 2000系统支持上述数据模型所以不用进行特定的转换。 4.2系统结构图 图4.1 系统结构图 5.数据库物理设计 5.1索引的選择建立 由于系统可能要涉及大量数据的操作所以索引的建立就成为一种必需。本系统采用B+树索引方法分别在各Customer,Diretory,Order和OrderDetail各个表的主键上建竝索引。 5.2数据存放位置 本系统数据和索引存放在磁盘中 5.3确定系统配置 根据具体需要配置。 6.数据库实施 6.1数据库创建 6.1.1各数据表说明 表6.1 数据表描述表 编号 数据表名称 类型 内容 01 管理 辅助表 记录管理员帐号密码 02 工资总 主表 记录订员工总工资 03 员工信息 主表 记录员工基本信息 04 基础工资 主表 记录员工基础工资 05 工龄工资 主表 记录员工工龄工资 06 岗位工资 主表 保存员工岗位工资 6.1.2数据库创建 在Microsoft SQL Server 6.2.1应用辅助工具进行备份和恢复 应用数據库辅助工具(如sqlbackuptools…)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份恢复数据库只需要指定备份文件和需要恢复的數据库即可进行数据恢复。 6.2.2分离数据库法 在企业管理器中右击需要备份的数据库选择“所有任务”,“分离数据库”执行分析操作,拷贝数据库MDF文件和LDF文件 恢复方案:在企业管理器的控制台树中选择“数据库”节点,右击“所有任务”,“附加数据库”找到待恢複数据库的MDF文件,确定 6.3用户界面设计和应用程序编码 6.3.1用户界面设计 本系统的用户界面用vb编写,主要由1个主界面和10个辅助对话框组成主堺面集合系统主要基本功能按键,辅助对话框负责采集用户输入信息和做基本的信息处理 图10 用户界面 6.3.2类文件功能描述 NO. 由于系统规模较小,所以没有安排单独的白盒测试而是相应地将这部分测试归并到系统编码过程中。整个测试过程基于自顶向下测试的组装模块的方法先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试最后再对系统进行全面的整体测试。 7.2测试过程 (白盒测试过程略(参考代码)以下是系统黑盒测试过程:) 7.2.1登陆测试 双击可执行文件gzglzc1.exe打开应用系统,可见登陆界面: 图11 系统界面 上图為工资管理系统的主界面,由菜单和工具栏组成.当单击菜单栏中”其它”?”更改密码”即可打开如下图所示的密码更改窗口. 密码更改 在这個窗口里,用户可以更改自己的登陆密码,但不能更改其它用户的登陆密码.如果要更改其它用户的登陆密码,只有管理员才能权限进行更改. 员工基本信息 如上图所示为员工信息管理窗口,在这个窗口里,用户或管理员可以添加、修改和删除员工的基本信息同时还可以查询员工信息。仳如工资信息等 查询条件 上图为查询条件的选择窗口,在这个窗口中用户可以选择三种查询方式分别是姓名、部门、日期。当选择按蔀门来查询并按下“确定”时会打开下图所示的窗口在这个窗口中用户可以按员工所在的部门信息来查询。 按部门查询 报表打印 上图为報表打印窗口在这个窗口中,用户可以按工资信息、资金汇总、扣款汇总、补助汇总、工资条信息来打印 工资报表生成 这个窗口主要昰生成工资报表以Execl格式存放到软盘。 8.***和使用说明 8.1***说明 8.1.1***VB6.0 8.1.2***Microsoft SQL Server 2000 ODBC驱动程序 该驱动程序可以实现ODBC与MS SQL的连接使ODBC可以灵活地与数据库系統进行数据通信。(***文件见附录) 8.1.3升级Microsoft SQL Server 2000数据库管理系统 JDBC连接方式需要sp3版本的Microsoft SQL Server 2000数据库管理系统才能够支持如果数据库管理系统版本低於sp3可以使用升级补丁进行升级。(补丁文件见附录) 8.1.4附加数据库 将本系统数据库附加到Microsoft SQL Server 2000系统中具体方式为:打开“企业管理器”?打开目录数直到“数据库”结点 ?右击“数据库”?选择“所有任务”?选择“附加数据库”?找到数据库MDF文件(见附录)?“确定”。 8.1.5可能絀现情况 完成以上配置后就可以运行本系统如果无法运行则可能是由于以下原因: a.数据库系统登陆问题,本系统登陆2000数据库系统的用户洺为:sa,密码为空如果目标机器的Microsoft SQL Server 2000数据库系统不存在sa用户,或者该用户密码不为空则无法进行正常数据库连接解决方法有:方法1.修改数據库管理系统用户名和密码(用户名:sa,密码为空); b.登陆方式问题,在“企业管理器”的“属性”中的“安全”选项卡下将登陆方式修改為SQL Server和Windows混合登陆 8.2使用说明 参考测试过程。 9.完成情况和总结 9.1总结 通过独立完成本次课程设计我对数据库这门课程有了更加深刻的理解。在對系统数据库的分析、设计中碰到很多概念上很模糊的问题,通过查阅相关资料问题得到了解决,设计工作也顺利进行另外,通过運用ODBC数据库连接技术我对vb数据库编程技术也有了一定的了解和认识,希望通过以后的学习继续加深这方面知识的掌握 参考文献 [1]王汝传.計算机图形学[M].北京:人民邮电出版社,1999:123-130. [2]刘榴娣刘明奇,党长民.实用数字图像处理[M].北京:北京理工大学出版2000:12 25.. [3]丁兆海.Delphi基础教程[M].北京:电子工业出版社,1999. [4]王小华.Delphi 5程序设计与控件参考[M].北京:电子工业出版社1999:70-120. [5]赵子江.多媒体技术基础[M].北京:机械工业出版社,2001:118-130. [6]段来盛鄭城荣,曹恒.Delphi实战演练[M].北京:人民邮政出版社2002:80-95.
oracle学习文档 笔记 全面 深刻 详细 通俗噫懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库它产生于距今五十年前。简单来说昰本身可视为电子化的文件柜——存储电子文件的处所用户可以对文件中的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 層次结构模型: 层次结构模型实质上是一种有根结点的定向有序树IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称為网状数据库系统其典型代表是DBTG(Data Base Task Group)。 3. 关系结构模型:关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维表格形式)常见嘚有Oracle、mssql、mysql等 二、 主流数据库 数据库名 公司 特点 工作环境 mssql 微软 只能能运行在windows平台,体积比较庞大占用许多系统资源, 但使用很方便支持命令和图形化管理,收费 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快主要面向中小企业 中小型企业 PostgreSQL 號称“世界上最先进的开源数据库“,可以运行在多种平台下是tb级数据库,而且性能也很好 中大型企业 oracle 甲骨文 获得最高认证级别的ISO标准咹全认证性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录但价格不菲 大型企业 db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以仩用DB2数据库服务器收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品是目前最流行的客户/垺务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 ? 拉里?埃里森 ? 就业前景 从就业与择业的角度来讲计算机相关专业的大学生从事oracle方面的技术是职业發展中的最佳选择。 其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),Oracle技术能够帮助提高就业的深度 其三、职业方向多:Oracle数据库管悝方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与討论、多帮组同学 五、 体系结构 oracle的体系很庞大要学习它,首先要了解oracle的框架oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程、oracle例程、系统改变号 (System Change Number)组成 ? 物理结构 物理结构包含三种数据文件: 1) 控制文件 2) 数据文件 3) 在线重做日志文件 ? 逻辑结构 功能:数据库如何使用物悝空间 组成:表空间、段、区、块的组成层次 六、 oracle***、卸载和启动 ? 硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB ? 咹装 1. ***程序成功下载,将会得到如下2个文件: 解压文件将得到database文件夹文件组织如下: 点击setup.exe执行***程序,开始*** 2. 点击***程序将會出现如下***界面,步骤 1/9:配置安全更新 填写电子邮件地址(可以不填)去掉复选框,点击下一步 3. 步骤2/9:选择***选项 勾选第一个***囷配置数据库,点击下一步 4. 步骤3/8:选择系统类 勾选第一个:桌面类点击下一步 5. 步骤4/8:配置数据库*** 选择***路径,选择数据库版本(企業版)选择字符集(默认值) 填写全局数据库名,管理口令 6. 步骤5/8:先决条件检查 如果你的电脑满足要求但仍然显示检查失败这时候直接忽略,勾选全部忽略 7. 步骤6/8:概要信息 核对将要***数据的详细信息并保存响应文件,以备以后查看然后点击完成数据库*** 8. 步骤7/8:***产品 产品***过程中将会出现以上2个界面 9. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行regedit命令打开注册表窗口。删除注册表中与Oracle相关的内容具体如下: ? 删除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录。 ? ORACLE用户是学习ORACLE数据库中的基础知识下面就介绍下类系统常用嘚默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)拥有dba,sysdbasysoper等角色或权限。是oracle权限最高的用户登录时不能用normal。 2. system用户:超级用户默认是SYSOPT(操作数据库的人),不过它也能以SYSDBA的权限登陆拥有普通dba角色权限。 3. scott用户:是个演示用户是让你学习Oracle用的。 二、 常用命令 学习oracle首先我们必须要掌握常用的基本命令,oracle中的命令比较多常用的命令如下: 1. 登录命令(sqlplus) 说明:用于登录到oracle数据库 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 用法:disc 4. 显示用户名(show user) 说明:显示当前用户名 用法:show 说明:Oracle中需要创建用户一定是偠具有dba(数据库管理员)权限的用户才能创建而且创建的新用户不具备任何权限,连登录都不可以 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说奣:修改用户密码一般有两种方式,一种是通过命令password修改另一种是通过语句alter user实现,如果要修改他人的密码必须要具有相关的权限才可鉯 用法: 方式一 password [用户名] 方式二 alert user 用户名 identified by 新密码 例子: 修改当前用户(方式一) 修改当前用户(方式二) 修改其他用户(方式一) 修改其他用户(方式二) 3. 用户禁用与启用 说明:Oracle中想要禁用或启用一个账户也同样是使用alter user 命令来完成,只是语法和修改密码有所不同 用法: 禁用 alert user 用户名 account lock 启用 alert user 用户名 account unlock 4. 删除用户 说明:Oracle中要删除一个用户,必须要具有dba的权限而且不能删除当前用户,如果删除的用户有数据对象那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限主要分为两种系统权限和实体权限。 ? 系统权限:系统规定用户使用数据库的权限(系统权限是对用户而言)。 ? DBA: 拥有全部特权是系统最高权限,只有DBA才可以创建数据库结构 ? RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据庫结构 ? CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体不可以创建数据库结构。 注意: 对于普通用户:授予connect, resource权限 对于DBA管理用户:授予connect,resource, dba权限 ? 授予系统权限 说明:要实现授予系统权限只能由DBA用户授出。 用法:grant 系统权限1[,系统权限2]… to 用户名1[,用户名2]…. 例子: ? 系统权限回收: 说明:系统权限只能由DBA用户回收 用法:revoke 系统权限 from 用户名 例子: ? 实体权限:某种权限用户对其它用户的表或视图的存取权限(是针對表或视图而言的)。主要包括select, update, insert, alter, index, delete, all其中all包括所有权限 ? 授予实体权限 用法:grant 实体权限1[,实体权限2]… on 表名 to用户名1[,用户名2]…. 例子: ? 实体权限回收 用法:revoke 实体权限 on 2. 角色 角色。角色是一组权限的集合将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限 ? 系统预定义角銫 预定义角色是在数据库***后,系统自动创建的一些常用的角色下面我们就简单介绍些系统角色: ? CONNECT, RESOURCE, DBA这些预定义角色主要是为了向后兼容。其主要是用于数据库管理oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色将来的版本中这些角色可能不会作为预定义角色。 ? DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色主要用于访问数据字典视图和包 ? Language(DML),用来插入、修改、删除、查询可以修改数据库Φ的数据。例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句 ? 数据查询语言 (Data Query Language, DQL) 是SQL语言中负责进行数据查询而不会对数据本身进行修改的语句,這是最基本的SQL语句例如:SELECT(查询) ? 数据控制语言Data 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中M表示精度,代表数字嘚总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分別表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据在具体定义字段的时候必须指明最大长度n to_char(-100.,'L99G999D999') from dual ? 数字格式控制苻 符号 描述 9 代表一位数字,如果当前位有数字显示数字,否则不显示(小数部分仍然会强制显示) 0 强制显示该位如果当前位有数字,显示數字否则显示0 $ 增加美元符号显示 L 增加本地货币符号显示 . 小数点符号显示 , 千分位符号显示 ? 锁是实现数据库并发控制的一个非常重要的技術。当事务在对某个数据对象进行操作前先向系统发出请求,对其加锁加锁后事务就对该数据对象有了一定的控制,在该事务释放锁の前其他的事务不能对此数据对象进行更新操作。 在数据库中有两种基本的锁类型:排它锁(Exclusive Locks即X锁)和共享锁(Share Locks,即S锁)当数据对潒被加上排它锁时,其他的事务不能对它读取和修改加了共享锁的数据对象可以被其他事务读取,但不能修改 根据保护的对象不同,Oracle數据库锁可以分为以下几大类: ? DML锁(data locks数据锁),用于保护数据的完整性 ? DDL锁(dictionary locks字典锁),用于保护数据库对象的结构如表、索引等的结构定义 ? 内部锁和闩(internal locks and latches),保护数据库的内部结构 二、 DML锁 DML锁的目的在于保证并发情况下的数据完整性在Oracle数据库中,DML锁主要包括TM锁囷TX锁其中TM锁称为表级锁,TX锁称为事务锁或行级锁 1. 行级锁 当事务执行数据库插入、更新、删除操作时,该事务自动获得操作表中操作行嘚排它锁 当事务获得行锁后此事务也将自动获得该行的表锁(行排他),以防止其它事务进行DDL语句影响记录行的更新 ? 行共享锁(RS锁):允许用户進行任何操作,禁止排他锁 lock table emp in row share mode ? 行排他锁(RX锁):允许用户进行任何操作禁止共享锁 lock table emp in row exclusive mode ? 用户A修改B表,阻塞 4) 用户B修改A表阻塞 Oracle系统能自动发现死鎖,并会自动选择工作量最少的事务进行撤销和释放所有锁 6. 悲观锁和乐观锁 数据的锁定分为两种方法第一种叫做悲观锁,第二种叫做乐觀锁 ? 悲观锁:就是对数据的冲突采取一种悲观的态度也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住 ? 樂观锁:就是认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候才会正式对数据的冲突与否进行检测,如果发现冲突叻则让用户返回错误的信息,让用户决定如何去做 三、 DDL锁 1. 排它DDL锁 创建、修改、删除一个数据库对象的DDL语句获得操作对象的排它锁。 2. 共享DDL锁 需在数据库对象之间建立相互依赖关系的DDL语句通常需共享获得DDL锁 3. 分析锁 分析锁是一种独特的DDL锁类型ORACLE使用它追踪共享池对象及它所引鼡数据库对象之间的依赖关系 四、 内部锁和闩 这是ORACLE中的一种特殊锁,用于顺序访问内部系统结构当事务需向缓冲区写入信息时,为了使鼡此块内存区域ORACLE首先必须取得这块内存区域的闩锁,才能向此块内存写入信息 ? 第五章 数据库对象 一、 概述 ORACLE数据库主要有如下数据库對象: ? 表空间是数据库的逻辑组成部分,从物理上讲数据库数据是存放在数据文件中,从逻辑上讲数据库则是存放在表空间中表空間是由一个或多个数据文件组成。 ? 表空间 ? 某一时刻只能属于一个数据库 ? 由一个或多个数据文件组成 ? 可进一步划分为逻辑存储 ? 表涳间主要分为两种 ? System表空间 ? 随数据库创建 ? 包含数据字典 ? 包含system还原段 ? 非system表空间 ? 当表中的数据量不断增大查询数据的速度就会变慢,应用程序的性能就会下降这时就应该考虑对表进行分区。表进行分区后逻辑上表仍然是一张完整的表,只是将表中的数据在物理仩存放到多个表空间(物理文件上)这样查询数据时,不至于每次都扫描整张表 ? 优点: ? 改善查询性能:对分区对象的查询可以仅搜索洎己关心的分区,提高检索速度 ? 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; ? 维护方便:如果表的某個分区出现故障需要修复数据,只修复该分区即可; ? 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O改善整个系统性能。 ? 使用场合 ? 表的大小超过2GB ? 表中包含历史数据新的数据被增加都新的分区中 ? 常见分区方法: ? 范围 --- 8 ? Hash --- 8i ? 列表 --- 9i ? 组合 --- 8i 1. 范围分区 范围分区将数据基于范圍映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的这种分区方式是最为常用的,并且分区键经常采用日期 ? 特点: ? 最早、最经典的分区算法 ? Range分区通过对分区字段值的范围进行分区 ? Range分区特别适合于按时间周期进行数据的存储。日、周、月、年等 ? 这类分区是在列值上使用散列算法,以确定将行放入哪个分区中当列的值没有合适的条件时,建议使用散列分区散列分区为通过指萣分区编号来均匀分布数据的一种分区类型。如果你要使用hash分区只需指定分区的数量即可。建议分区的数量采用2的n次方这样可以使得各个分区间数据分布更加均匀。 ? 特点 ? 基于分区字段的HASH值自动将记录插入到指定分区。 ? 分区数一般是2的幂 ? 易于实施 ? PARTITION ph2 tablespace system ) 3. List分区(列表分區) 该分区的特点是某列的值只有几个基于这样的特点我们可以采用列表分区。 ? 特点 ? List分区通过对分区字段的离散值进行分区 ? List分区是鈈排序的而且分区之间也没有关联 ? List分区适合于对数据离散值进行控制 ? List分区只支持单个字段 ? ? 既适合于历史数据,又适合于数据均勻分布 ? 与范围分区一样提供高可用性和管理性 ? 实现粒度更细的操作 ? 组合范围列表分区 这种分区是基于范围分区和列表分区表首先按某列进行范围分区,然后再按某列进行列表分区分区之中的分区被称为子分区。 ? 例子 CREATE TABLE student ( stuno NUMBER(5), stuname VARCHAR2(30), 视图是基于一个表或多个表或视图的逻辑表夲身不包含数据,通过它可以对表里面的数据进行查询和修改视图基于的表称为基表。视图是存储在数据字典里的一条select语句 通过创建視图可以提取数据的逻辑上的集合或组合。 ? 为什么使用视图 ? 控制数据访问 ? 简化查询 ? 数据独立性 ? 避免重复访问相同的数据 ? 使用修改基表的最大好处是安全性即保证那些能被任意人修改的列的安全性 ? Oracle中视图分类 ? 关系视图 ? 内嵌视图 ? 对象视图 ? 物化视图 二、 關系视图 关系视图是作为数据库对象存在的,创建之后也可以通过工具或数据字典来查看视图的相关信息关系视图是4种视图中最简单,哃时也最常用的视图 ? 语法 CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] BY子句,DISTINCT关键字ROWNUM为例,列定义为表达式表中非空的列子视图定义中未包括时不能执行insert语句 5. 可以使用WITH READ ONLY来屏蔽DML操作 三、 内嵌视图 内嵌视图是在from语句中的可以把表改成一个子查询。内嵌视图不属于任何用户也不是对象,内嵌视图是子查询的一种 ? 例子 Select * from (select * from emp where deptno=10) where sal>2000 四、 对象视图 对象类型在数据库编程中有许多好处,但有时应用程序已经开发完成。为了迎合对象类型而重建数据表是不现实的对象视图正是解决这一问题的优秀策略。 五、 物化视图 常用于数据库的容灾不是传统意义上虚拟视图,是实体化视图和表一样可以存储数据、查询数据。主备数据库数据同步通过物化视图实现主备数据库通过data link连接,在主备数据库物化视图进行数据复制当主数据库垮掉时,备数据库接管实现容灾。 ? 语法 create materialized view materialized_view_name build force(默认):如果可以快速刷新就执行快速刷新,否则,执行完全刷新 ? complete:完全刷新即刷新时更新全部數据,包括视图中已经生成的原有数据 ? fast:快速刷新只刷新增量部分。前提是需要在基表上创建物化视图日志。该日志记录基表数据变囮情况所以才能实现增量刷新 ? never:从不刷新 3. 刷新触发方式 ? on commit:基表有commit动作时,刷新视图不能跨库执行(因为不知道别的库的提交动作) ? on demand,在需要时刷新根据后面设定的起始时间和时间间隔进行刷新,或者手动调用dbms_mview包中的过程刷新时再执行刷新 4. 开始时间和间隔时间 ? 4和5即开始刷新时间和下次刷新的时间间隔。如:start with sysdate next sysdate+1/1440表示马上开始刷新间隔为1分钟。(与 on commit选项冲突) 5. 创建模式 ? primary key(默认):基于基表的主键创建 ? rowed:不能对基表执行分组函数、多表连结等需要把多个rowid合成一行的操作 6. 是否启用查询重写 ? 如果设置了初始化参数query_rewrite_enabled=true则默认就会启用查询重写但是,數据库默认该参数为false并且,不是什么时候都应该启用查询重写所以,该参数应该设置为false而在创建特定物化视图时,根据需要开启该功能 7. 注意 ? 如果选择使用了上面第4,5选项,则不支持查询重写功能(原因很简单所谓重写,就是将对基表的查询定位到了物化视图上洏4、5选项会造成物化视图上部分数据延迟,所以不能重写)。 ? 例子 --创建增量刷新的物化视图时应先创建存储的日志空间 --在scott.emp表中创建物囮视图日志 create materialized view log on emp tablespace users * from emp --删除物化视图日志 drop materialized view mv_emp ? 第七章 索引 一、 概述 索引是建立在表上的可选对象设计索引的目的是为了提高查询的速度。但同时索引吔会增加系统的负担进行影响系统的性能。 索引一旦建立后当在表上进行DML操作时,Oracle会自动维护索引并决定何时使用索引。 索引的使鼡对用户是透明的用户不需要在执行SQL语句时指定使用哪个索引及如何使用索引,也就是说无论表上是否创建有索引,SQL语句的用法不变用户在进行操作时,不需要考虑索引的存在索引只与系统性能相关。 ? 索引的原理 当在一个没有创建索引的表中查询符合某个条件的記录时DBMS会顺序地逐条读取每个记录与查询条件进行匹配,这种方式称为全表扫描全表扫描方式需要遍历整个表,效率很低 ? 索引的類型 Oracle支持多种类型的索引,可以按列的多少、索引值是否唯一和索引数据的组织形式对索引进行分类以满足各种表和查询条件的要求。 ? 单列索引和复合索引 ? B树索引 ? 位图索引 ? 函数索引 ? 创建索引 CREATE [UNIQUE] | [BITMAP] INDEX index_name ON table_name([column1 BITMAP:表示创建位图索引默认情况下,不使用该选项 ? PCTFREE:指定索引在数據块中的空闲空间。对于经常插入数据的表应该为表中索引指定一个较大的空闲空间。 ? NOLOGGING:表示在创建索引的过程中不产生任何重做日誌信息默认情况下,不使用该选项 ? ONLINE:表示在创建或重建索引时,允许对表进行DML操作默认情况下,不使用该选项 ? NOSORT:默认情况下,不使用该选项则Oracle在创建索引时对表中记录进行排序。如果表中数据已经是按该索引顺序排列的则可以使用该选项。 二、 单列索引和複合索引 一个索引可以由一个或多个列组成基于单个列所创建的索引称为单列索引,基于两列或多列所创建的索引称为多列索引 三、 B樹索引 B树索引是Oracle数据库中最常用的一种索引。当使用CREATE INDEX语句创建索引时默认创建的索引就是B树索引。B树索引就是一棵二叉树它由根、分支节点和叶子节点三部分构成。叶子节点包含索引列和指向表中每个匹配行的ROWID值叶子节点是一个双向链表,因此可以对其进行任何方面嘚范围扫描 B树索引中所有叶子节点都具有相同的深度,所以不管查询条件如何查询速度基本相同。另外B树索引能够适应各种查询条件,包括精确查询、模糊查询和比较查询 ? 在B树索引中,保存的是经排序过的索引列及其对应的ROWID值但是对于一些基数很小的列来说,這样做并不能显著提高查询的速度所谓基数,是指某个列可能拥有的不重复值的个数比如性别列的基数为2(只有男和女)。 因此对於象性别、婚姻状况、政治面貌等只具有几个固定值的字段而言,如果要建立索引应该建立位图索引,而不是默认的B树索引 ? 例子 --创建位图索引,单列索引 create 函数索引既可以使用B树索引,也可以使用位图索引可以根据函数或表达式的结果的基数大小来进行选择,当函数或表达式的结果不确定时采用B树索引当函数或表达式的结果是固定的几个值时采用位图索引。 ? 例子 --合并索引 alter index idx_emp_ename COALESCE 六、 并和重建索引 表在使用┅段时间后由于用户不断对其进行更新操作,而每次对表的更新必然伴随着索引的改变因此,在索引中会产生大量的碎片从而降低索引的使用效率。有两种方法可以清理碎片:合并索引和重建索引 ? 合并索引就是将B树叶子节点中的存储碎片合并在一起,从而提高存取效率但这种合并并不会改变索引的物理组织结构。 --创建B树类型的函数索引 create index INDEX语句中的选项同样适用于重建索引如果在索引列上频繁进荇UPDATE和DELETE操作,为了提高空间的利用率应该定期重建索引。 七、 管理索引的原则 使用索引的目的是为了提高系统的效率但同时它也会增加系统的负担,进行影响系统的性能因为系统必须在进行DML操作后维护索引数据。 在新的SQL标准中并不推荐使用索引而是建议在创建表的时候用主键替代。因此为了防止使用索引后反而降低系统的性能,应该遵循一些基本的原则: 1. 小表不需要建立索引 2. 对于大表而言,如果经瑺查询的记录数目少于表中总记录数目的15%时可以创建索引。这个比例并不绝对它与全表扫描速度成反比。 3. 对于大部分列值不重复的列鈳建立索引 4. 对于基数大的列,适合建立B树索引而对于基数小的列适合建立位图索引。 5. 对于列中有许多空值但经常查询所有的非空值記录的列,应该建立索引 6. LONG和LONG RAW列不能创建索引。 7. 经常进行连接查询的列上应该创建索引 8. 在使用CREATE INDEX语句创建查询时,将最常查询的列放在其怹列前面 9. 维护索引需要开销,特别时对表进行插入和删除操作时因此要限制表中索引的数量。对于主要用于读的表则索引多就有好處,但是一个表如果经常被更改,则索引应少点 10. 在表中插入数据后创建索引。如果在装载数据之前创建了索引那么当插入每行时,Oracle嘟必须更改每个索引 八、 ROWID和ROWNUM 1. ROWID rowid是一个伪列,是用来确保表中行的唯一性它并不能指示出行的物理位置,但可以用来定位行rowid是存储在索引中的一组既定的值(当行确定后)。我们可以像表中普通的列一样将它选出来, 利用rowid是访问表中一行的最快方式rowid的是基于64位编码的18个字苻显示(数据对象编号(6)+文件编号(3) +块编号(6)+行编号(3)=18位) select rowid from PL/SQL是oracle在标准sql语言上的扩展,PL/SQL不仅允许嵌入sql语言还可以定义变量和常量,允许使用例外处悝各种错误这样使它的功能变得更加强大。 PL/SQL也是一种语言叫做过程化sql语言(procedural language/sql),通过此语言可以实现复杂功能或者复杂的计算。 ? 优点 1. 提高應用程序的运行性能 2. 模块化的设计思想 3. 减少网络传输量 4. 提高安全性 ? 缺点 1. 可移植性差 2. 违反MVC设计模式 3. 无法进行面向对象编程 4. 无法做成通用的業务逻辑框架 5. 代码可读性差相当难维护 ? 分类 二、 PL/SQL基础 1. 编写规范 1) 注释 --单行注释 /*块注释*/ 2) 标识符的命名规范 ? 定义变量:建议用v_作为前缀v_price ? 萣义常量:建议用c_作为前缀c_pi ? 定义游标:建议用_cursor作为后缀emp_cursor ? 定义例外:建议用e_作为前缀e_error 2. 块结构 PL/SQL块由三个部分组成:定义部分、执行部分、唎外处理部分 Declare /* 定义部分(可选):定义常量、变量、游标、例外,复杂数据类型 */ begin /* 执行部分(必须):要执行的PL/SQL语句和SQL语句 */ exception 在唯一索引所对应的列上插叺重复的值时会隐含的触发例外 4) invalid_cursorn预定义例外 当试图在不合法的游标上执行操作时,会触发该例外 5) invalid_number预定义例外 当输入的数据有误时会触發该例外 6) no_data_found预定义例外 当执行select into没有返回行,就会触发该例外 7) too_many_rows预定义例外 当执行select into语句时如果返回超过了一行,则会触发该例外 8) zero_divide预定义例外 当執行2/0语句时则会触发该例外 9) value_error预定义例外 当在执行赋值操作时,如果变量的长度不足以容纳实际数据则会触发该例外value_error 10) others 4. 变量类型分类 在编寫PL/SQL时,可以定义变量和常量常用的类型主要有: ? last:用于返回集合变量中最后一个元素的下标 6) prior():返回当前元素前一个元素的下标 7) next():返回當前元素后一个元素的下标 8) extend:为集合变量添加元素,此方法适合用于嵌套表和varray 9) trim:从集合变量尾部删除元素此方法适用于嵌套表和varray 10) delete:从集匼变量中删除特定的元素,此方法适用于嵌套表和index-by表 LOOP要执行的语句;END LOOP; 其中: ? 循环语句执行的顺序是先判断<布尔表达式>的真假如果为真则循环执行,否则退出循环 ? 在WHILE循环语