《李凭箜篌引》(用)教学课件
箜篌:又名 “坎侯”、“空侯”,是我国古代的弹拨乐器,有竖箜篌、卧箜篌等多种样式。它一般有二十三(一说二十二)根弦。箜篌酷似一只顾盼生姿的大凤凰。箜篌演奏技艺到唐代达到了极高的水平。解题
李凭是梨园弟子,因善弹箜篌,名噪一时,“天子一日一回见,王侯将相立马迎”。身价之高,似乎远远超过盛唐时期的著名歌手李龟年。他的精湛技艺,受到诗人们的热情赞赏。唐代有很多诗人都描写过李凭的演奏。引:一种古代诗歌体裁,篇幅较长,音节、格律一般比较自由,形式有五言、七言、杂言。解题
思考:这首诗是怎样表现“箜篌”演奏出来的优美音乐的?因声求气 吟咏诗韵二读,合作探究把握意象揣摩语言品味意境体悟情感
1、思考:这首诗选取了哪些意象来表现“箜篌”演奏出来的优美音乐的?音乐的情感基调是什么?空山凝云、秋风秋雨、美玉凤凰、芙蓉香兰、老鱼瘦蛟——自然景物(冷色调)湘妃素女、女娲神妪、紫皇吴刚——神灵仙女音乐的情感基调是凄怆激昂的。
2、第一段:吴丝蜀桐张高秋,空山凝云颓不流。江娥啼竹素女愁,李凭中国弹箜篌。诗歌开头四句的叙述顺序有何特点?这样写有何好处?因声求气 吟咏诗韵
吴丝蜀桐张高秋---欲言音乐之美,先说乐器之精。箜篌构造精良,突出音乐的高雅。---秋高气爽,天空明亮透澈,格外高远。既点明演奏的时间,又写出演奏的环境。---张:演奏的抽象动作,更引起联想,音乐情韵高远饱满,直上云霄—像礼花一样,起于弦上一点然后发散到长空去。写音乐的突然爆发。
空山凝云颓不流“响遏行云”——《列子汤问》优美悦耳的弦歌声一经传出,飘散在寂寞山间的闲云都为之动容,凄然停步仿佛在俯首谛听。移情于物,把云写成具有人的听觉功能和思想感情。
江娥啼竹素女愁音乐变得愁苦郁闷,幽怨低回仿佛听到娥皇和女英在湘江边为舜痛哭不己,泪尽,继之以血,将湘江之竹尽染绯红;又仿佛在重温素女弹奏起五十弦瑟,令人悲不自禁……
空山凝云颓不流侧面烘托————写出音乐声的神奇美妙,感人肺腑,具有“惊天地,泣鬼神”的魅力。江娥啼竹素女愁
李凭中国弹箜篌点出演奏者的名姓,并且交代了演奏的地点。
2、开头四句的叙述顺序有何特点?这样写有何好处?诗人避开了叙事性的交代和直说,先写琴,写声,然后写人。这样,突出了乐声,有着先声夺人的艺术力量。开头四句先声夺人空山凝云江娥素女等意象表现音乐的悲哀情绪由强到弱,由突然爆发到舒缓低回
3、第二段:昆山玉碎凤凰叫,芙蓉泣露香兰笑。十二门前融冷光,二十三丝动紫皇。怎样表现乐声的起伏多变?
思考: “昆山玉碎凤凰叫,芙蓉泣露香兰笑”是诗中仅有的直接描摹音乐的诗句,成功地运用了什么艺术手法?这样写具有怎样的艺术效果?运用了通感的艺术手法。“以声类声”,“以形类声”,但也可以唤起形象感。“以声类声”不是通感,但这两句诗可以唤起音乐的形象感,“以形类声”,就构成了通感。
昆山玉碎凤凰叫,芙蓉泣露香兰笑以声类声“玉碎,状其声之清脆;凤叫,状其声之和缓。”“蓉泣,状其声之惨淡;兰笑,状其声之冶丽。”——王琦《李贺诗歌集注》昆山:也叫“玉山”或者“群玉之山”。凤凰:在传说中是一种高贵的神鸟,《韩诗外传》云:“其声若箫。”箫的音色柔和典雅,低音区深沉哀郁,演奏时余音袅袅,给人“如怨如慕,如泣如诉”感
昆山玉碎凤凰叫,芙蓉泣露香兰笑以形类声昆山玉碎:唤起山崩地裂的形象感,----乐声乍起的壮观。凤凰叫:唤起孤独哀鸣的形象感,-----乐声的幽怨。芙蓉泣露:唤起露滴残荷的形象感,-----乐声的凄凉。香兰笑:唤起兰花盛开宛如笑靥的形象感,-----乐声的欢快愉悦。
十二门前融冷光,二十三丝动紫皇----清冷的乐声使人觉得长安城沉浸在寒光之中----紫皇:双关语,兼指天帝和当时的皇帝。箜篌弹奏出的妙音,连天上的玉皇大帝和人间的皇帝都为之感动。巧妙的过渡手法,承上启下,比较自然地把诗歌的意境由人间扩大到仙府。以下六句,诗人凭借想象的翅膀,飞向天庭,飞上神山,把读者带进更为辽阔深广、神奇瑰丽的境界。
乐声的起伏多变昆山玉碎凤凰叫——清脆激越空灵哀婉芙蓉泣露香兰笑——幽怨凄凉欢快愉悦十二门前融冷光——清冷
4、第三段:女娲炼石补天处,石破天惊逗秋雨。梦入神山教神妪,老鱼跳波瘦蛟舞。吴质不眠倚桂树,露脚斜飞湿寒兔。怎样表现“箜篌”演奏出来的优美音乐的?
女娲炼石补天处,石破天惊逗秋雨想象大胆新奇,出人意表,又感人肺腑。秋雨密密匝匝的坠落声,可以摹状乐声的急促,也可以唤起连绵不绝的忧郁形象。“以声类声”,“以形类声”,通感手法,听觉中有视觉感受,视觉感受中有动感。------乐曲的高潮、结束:惊天动地的清冷情绪
梦入神山教神妪,老鱼跳波瘦蛟舞教:--对乐师的高度评价,更是对乐曲的无比赞赏,就是誉之为仙乐了。老、瘦:匪夷所思,极平常的字用得极生动。鱼之愈老,活动意识愈淡,而今这沉稳的老鱼居然跳起波来,可见音乐感染力之大。蛟乃龙之健者,而今瘦了,想见是大病之中或者之后,如此瘦蛟而能翩然起舞,可见音乐己使之达到了忘我的境界。--侧面描写
吴质不眠倚桂树,露脚斜飞湿寒兔。舞蹈完成,乐曲结束。但是,成天伐桂、劳累不堪的吴刚还倚着桂树,久久地立在那儿,竟忘了睡眠;玉兔蹲伏一旁,任凭深夜的露水不停地洒落在身上,把毛浸湿,也不肯离去。听众听得入了迷,曲已终而意犹未尽。--侧面描写
所用艺术手法和白居易的《琵琶行》中“曲终收拔当心画,四弦一声如裂帛。东船西舫悄无言,唯见江心秋月白”一样,都是侧面描写,表现音乐终结后,听众却沉浸在音乐带来的情绪中久久不能脱出。
小结:李贺这首诗用瑰丽的词采,天上人间的想象来描摹听音乐的感受,把一首悲戚的乐曲描写得惊天动地。诗本身也和乐曲一样有了一种凄寒冷艳的气质风格凄寒冷艳、浪漫瑰丽。—“冷如秋霜,艳若桃李。”
这首诗是怎样表现“箜篌”演奏出来的优美音乐的?⑵运用化无形为有形的通感手法和夸张手法。⑶运用浪漫主义的创作方法,驰骋自由的想像力,通过瑰丽的神话世界来表现音乐的世界。⑴主要运用侧面烘托手法,通过描摹音乐效果来衬托音乐本身。因声求气 吟咏诗韵
《琵琶行》中以声喻声的形象化描写——大弦嘈嘈如急雨——繁密的声势;小弦切切如私语——轻幽的音韵;大珠小珠落玉盘——清脆而和谐;间关萤语花底滑——悠扬而明快;幽咽泉流冰下难——低沉而冷涩;银瓶乍破水浆进——突发而激烈;铁骑突出刀枪鸣——清脆而尖锐;四弦一声如裂帛——刚劲而激越。拓展延伸比较鉴赏阅读白居易的《琵琶行》和韩愈《听颖师弹琴》,比较它们在音乐描写时所用的不同技法,说说它们各自的艺术风格。
《听颖师弹琴》韩愈昵昵儿女语,恩怨相尔汝。划然变轩昂,勇士赴敌场。浮云柳絮无根蒂,天地阔远随飞扬。喧啾百鸟群,忽见孤凤凰。拓展延伸比较鉴赏-开始琴声轻柔细碎音调缠绵宛转好象青年男女谈情说爱,切切私语卿卿我我谈着、笑着、倾诉着--刹那间,琴声激昂高亢,象勇士们慷慨赴敌,气势磅礴,威武雄壮-一会儿,声音舒缓、悠扬,象白云悠然于碧空,象那柳絮随风颠狂、飘荡,使人为之神游四方---当人们悠游四方时,琴声变成了百鸟喧闹,猛然间似乎有一只高贵的凤凰引颈长鸣,鸣声谐和、清亮。
跻攀分寸不可上,失势一落千丈强。嗟余有两耳,未省听丝篁。自闻颖师弹,起坐在一旁。推手遽止之,湿衣泪滂滂。颖乎尔诚能,无以冰炭置我肠!--继而琴声又变高,且越弹越高如登山健儿攀登高峰,接近峰顶再上一分一寸都不可能。正在万分紧张时,忽又音调低伏,好象登山健儿失手,直落下万丈深渊?前十句比喻,正面描写颖师所弹奏的优美琴声自己虽不懂音乐,听颖师弹奏,一直坐立不安,眼泪湿透了衣裳.急忙止住颖师,请他不要再继续弹。你的弹奏本领太高强了,直使我的心时而如火热,时而又如冰寒。我的感情剧烈波动得再也禁受不住。侧面烘托出了颖师弹奏的高明后八句听琴的感受
意象儿女语/赴敌场/浮云柳絮/百鸟群/孤凤凰旋律变化:柔—刚—柔
韩愈《听颖师弹琴》、白居易《琵琶行》、李贺《李凭箜篌引》艺术手法《李凭箜篌引》主要描写音乐产生的艺术效果,对于音乐旋律本身起伏跌宕着墨并不多,只有“昆山玉碎凤凰叫,芙蓉泣露香兰笑”两句。手法为侧面烘托。《琵琶行》主要通过比喻描摹音色的强弱、缓急,直接描写《听颖师弹琴》前十句运用形象的比喻摹写琴声的起落变化,并描摹音乐所表现的意境,直接描写。后八句用抒情方式表达听琴的感受,侧面烘托。
风格《李凭箜篌引》纯描摹音乐,没有诗人的情感寄托,风格凄寒冷艳《琵琶行》叙事诗,描摹音乐同时也叙事和抒情,琵琶女弹奏时的情态动作和作者的身世体验都穿插其中,风格平易感伤。《听颖师弹琴》前十句写琴声,后八句写诗人听月乐的感受,至于琴声引发了怎样的人生体验,并未直言,风格悲怆含蓄。
存储过程与触发器补充内容
存储过程与触发器概述在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQLServer2000不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。
1.1存储过程的概念存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
1.1存储过程的概念在SQLServer的系列版本中存储过程分为两类:系统提供的存储过程和用户自定义存储过程。系统过程主要存储在master数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQLServer提供支持。通过系统存储过程,MSSQLServer中的许多管理性或信息性的活动(如了解数据库对象、数据库信息)都可以被顺利有效地完成。尽管这些系统存储过程被放在master数据库中,但是仍可以在其它数据库中对其进行调用,在调用时不必在存储过程名前加上数据库名。而且当创建一个新数据库时,一些系统存储过程会在新数据库中被自动创建。用户自定义存储过程是由用户创建并能完成某一特定功能(如查询用户所需数据信息)的存储过程。在本次课中所涉及到的存储过程主要是指用户自定义存储过程。举例:sp_columns;sp_datatype_info
1.2存储过程的优点当利用SQLServer创建一个应用程序时,SQL是一种主要的编程语言。若运用SQL来进行编程,有两种方法。其一是,在本地存储SQL程序,并创建应用程序向SQLServer发送命令来对结果进行处理。其二是,可以把部分用SQL编写的程序作为存储过程存储在SQLServer中,并创建应用程序来调用存储过程,对数据结果进行处理存储过程能够通过接收参数向调用者返回结果集,结果集的格式由调用者确定;返回状态值给调用者,指明调用是成功或是失败;包括针对数据库的操作语句,并且可以在一个存储过程中调用另一存储过程。
1.2存储过程的优点我们通常更偏爱于使用第二种方法,即在SQLServer中使用存储过程而不是在客户计算机上调用SQL编写的一段程序,原因在于存储过程具有以下优点:(1)存储过程允许标准组件式编程存储过程在被创建以后可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响(因为应用程序源代码只包含存储过程的调用语句),从而极大地提高了程序的可移植性。
1.2存储过程的优点(2)存储过程能够实现较快的执行速度如果某一操作包含大量的SQL代码或被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的执行计划。而批处理的SQL语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。
1.2存储过程的优点(3)存储过程能够减少网络流量对于同一个针对数据数据库对象的操作(如查询、修改),如果这一操作所涉及到的SQL语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,否则将是多条SQL语句,从而大大增加了网络流量,降低网络负载。
1.2存储过程的优点(4)存储过程可被作为一种安全机制来充分利用系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的限制,避免非授权用户对数据的访问,保证数据的安全。注意:存储过程虽然既有参数又有返回值,但是它与函数不同。存储过程的返回值只是指明执行是否成功,并且它不能像函数那样被直接调用,也就是在调用存储过程时,在存储过程名字前一定要有EXEC保留字
存储过程几种写法1)创建使用参数的存储过程CreateProcau_info@lastnamevarchar(40),@firstnamevarchar(20)AsSelectau_lname,au_fname,title,pub_nameFrom...whereau_fname=@firstnameAndau_lname=@lastnameGoEXECUTEau_inforinger,annecreateprocedures_query@namevarchar(255)asselectsno,sn,agefromswheresn=@namegoexecs_query‘李涛'
存储过程几种写法2)创建使用参数默认值的存储过程,该存储过程在没有输入参数的情况下将默认值得到的结果输出CreateProcau_info@lastnamevarchar(40)='ringer',@firstnamevarchar(20)='anne'AsSelectau_lname,au_fname,title,pub_nameFrom...whereau_fname=@firstnameAndau_lname=@lastnameGoEXECUTEau_infocreateprocedures_query@namevarchar(255)=‘李涛’asselectsno,sn,agefromswheresn=@namegoexecs_query
存储过程几种写法3)用显式值替代参数默认值的存储过程CreateProcshowind@tablevarchar(30)='titles'asSELECTTable_Name=sysobjects.name,INDEX_Name=sysindexes.name,index_id=indidfromsysindexesinnerjoinsysobjectsonsysobjects.id=sysindexes.idwheresysobjects.name=@tableEXECUTEshowindauthorscreateprocedures_query@namevarchar(255)=‘李涛’asselectsno,sn,agefromswheresn=@namegoexecs_query‘陈文’
存储过程几种写法4)使用参数默认值NULL来创建存储过程,在这种情况下如果没有提供参数值,SQL将不会出错显示CreateProcshowind@tablevarchar(30)=NullasIF@tableisNUllprint'请输入参数'elseSELECTTable_Name=sysobjects.name,INDEX_Name=sysindexes.name,index_id=indidfromsysindexsinnerjoinsysobjectsonsysobjects.id=sysindexes.idwheresysobjects.name=@tableEXECUTEshowindauthorscreateprocedures_query2@namevarchar(255)=nullasIF@nameisNUllprint'请输入参数'elseselectsno,sn,agefromswheresn=@namegoexecs_query2
存储过程几种写法5)使用包含通配符的参数默认值创建存储过程,通配符包括(%,_,[]和[^]),注意需要用Like关键字CREATEPROCau_info@lastnamevarchar(40)='r%',@firstnamevarchar(20)='%'ASSelectau_lname,au_fname,title,pub_namefromauthorsinnerjointitleauthoronauthors.au_id=titleauthor.au_idjointitlesontitleauthor.title_id=titles.title_idjoinpublishersontitles.pub_id=publishers.pub_idwhereau_fnamelike@firstnameandau_lnamelike@lastnameGOcreateprocedures_query3@namevarchar(255)asselectsno,sn,agefromswheresnlike@namegoexecs_query3'陈%'
1.3触发器的概念在SQL中,触发器是一种特殊类型的存储过程,它不同于SQL的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQLServer就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则
触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。它维护不同表中数据间关系的有关规则。定义一个好的触发器对简化数据的管理,保证数据库的安全都有重要的影响。触发器是针对表一级的,这就意味着,只有表的所有者有权创建表的触发器。
创建触发器的语法:CreateTrigger[owner.]触发器名On[owner.]表名For{insert,update,delete}AsBeginSQL语句(块)End
举例比如,有两个表Student:学生表,学号为主键BorrowRecord:借书记录表,学号为外码用到的功能有:1.如果更改了学生的学号,希望借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);2.如果该学生已经毕业,希望删除学号的同时,也删除借书记录
这时候可以用到触发器。对于1,创建一个Update触发器:CreateTriggertruStudentOnStudent--在Student表中创建触发器forUpdate--为什么事件触发As--事件触发后所要做的事情ifUpdate(StudentID)beginUpdateBorrowRecordSetStudentID=i.StudentIDFromBorrowRecordbr,Deletedd,Insertedi--Deleted和Inserted临时表Wherebr.StudentID=d.StudentIDend理解触发器里面的两个临时的表:Deleted,Inserted。注意Deleted与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录
对于2,创建一个Delete触发器CreatetriggertrdStudentOnStudentforDeleteAsDeleteBorrowRecordFromBorrowRecordbr,DeleteddWherebr.StudentID=d.StudentIDCreatetriggertr_deleteOnSforDeleteAsDeletescFromsci,DeleteddWherei.sno=d.snodeletefromswheresno='s7'