مجموعه تمرینهای سری چهارم درس پایگاه دادهها ()۱ نحوهی تحویل ً :غخِ واغذی توزیي خَد را (تایپؽذُ یا دعتًَیظ) بِ اتاق ( 8۰5آسهایؾگاُ دوتز هیزیاى) تحَیل دّیذ. فزعتادى توزیي بِصَرت ایویل پذیزفتِ ًیغت. نکات مورد توجه بخؼّای هؾخصؽذُ با عالهت ⅔ ٍیضُی گزٍُّای دٍ یا عًِفزی ٍ بخؼّای هؾخصؽذُ با عالهت ٍ ³یضُی گزٍُّای عًِفزی ّغتٌذ . در پزعؼّای با عالهت ⌘ هیتَاًیذ با اعتفادُ اس db1.amira.li/SQL4STUDENTSتا حذٍدی اس صحت پاعخ خَد اعویٌاى یابیذ .تَضیحات السم در گزٍُ دادُ هیؽَد . در ایي توزیي اس دٍ هحیظ بِ ؽزح سیز اعتفادُ ؽذُاعت: هحیظ ًخغت : () 1 :ایي هحیظ با جذٍلّای سیز عزاحی ؽذُاعت S: J: P: SPJ: SN SNAME STATUS CITY … … … … JN JNAME CITY … … … PN PNAME COLOR CITY WEIGHT … … … … … SN … PP: PN … PN JN QTY … … … SUBPN CNT … … : هحیظ دٍم :ایي هحیظ با جذٍلّای سیز عزاحی ؽذُاعت COT: GT: PRT: STT: STG: COPRECOT: COID TITLE … … … … COID GNUM TR YR … … … … PRID PNAME … … … … STID STJ STNAME … … … … … STID COID … … COID … GNUM … PRECOID … ) 2( TR … PRID … … … YR GRADE … … تمرینهای SQL .I ⌘ )1با تَجِ بِ جذاٍل هحیظ ًخغت ،بِ پزعؼّای سیز در سباى SQLپاعخ دّیذ . ⅔ )aول همذار لغعات بِواررفتِ در پزٍصُ ’. ‘j4 ً )bام تْیِوٌٌذگاًی وِ در بیؼ اس دٍ پزٍصُ لغعِ تْیِ وزدُاًذ ( .با اعتفادُ اس )count ً )cام تْیِوٌٌذگاًی وِ در بیؼ اس دٍ پزٍصُ لغعِ تْیِ وزدُاًذ ( .بذٍى اعتفادُ اس )count )dؽوارُ ّز لغعِ بِ ّوزاُ هیاًگیي ٍسى لغعات بِ وار رفتِ در آى ( .با اعتفادُ اس - group byدلت وٌیذ وِ اگز یه لغعِ دٍ بار در یه پزٍصُ تْیِ ؽذُ باؽذ ،فمظ یه بار در هحاعبِی هیاًگیي هٌظَر هیؽَد ). )eؽوارُ ّز لغعِ بِ ّوزاُ هیاًگیي ٍسى لغعات بِ وار رفتِ در آى ( .بذٍى اعتفادُ اس )group by ⅔ )fؽوارُی ّز پزٍصُ ٍ هیاًگیي ٍسىدار ٍسى لغعات تْیِؽذُ در آى ( .هٌظَر اس هیاًگیي ٍسىدار عبارت ) (∑ ∑ اعت). ً )gام تْیِوٌٌذگاًی وِ بزای توام پزٍصُّای ّوؾْز خَد ،لغعِ تْیِوزدُ باؽٌذ . ً ⅔ )hام تْیِوٌٌذگاًی وِ فمظ بزای پزٍصُّای ّوؾْز خَد ،لغعِ تْیِوزدُ باؽٌذ . ³ )iؽوارُ پزٍصُّایی وِ حذالل یه تْیِوٌٌذُ ،دٍ لغعِ با رًگّای گًَاگَى بزای آى تْیِ وزدُ باؽذ (جذٍل جَاب دارای ؽوارُ پزٍصُّای تىزاری ًباؽذ). ³ )jؽوارُ سٍج پزٍصُّایی را بذّیذ وِ حذالل 4لغعِی هؾتزن در آىّا تْیِ ؽذُ باؽٌذ ( بِ دٍ رٍػ). ⌘ جْت یادگیزی بیؾتز هیتَاًیذ دیگز پزعؼّای SPJوتاب آلای ( DATEایي پزعؼّا بِ ّوزاُ پاعخؾاى در یادداؽتّای تىویلی 2هَجَد ّغتٌذ ).را ًیش در عاهاًِ پاعخ دّیذ ٍ جْت اعویٌال اس پاعخ hash ،پاعخ خَد را با hashپاعخ وتاب همایغِ فزهاییذ. )2با تَجِ بِ جذاٍل هحیظ دٍم ،بِ پزعؼّای سیز در سباى SQLپاعخ دّیذ . )aؽوارُ ٍ ًام توام داًؾجَیاى بِ ّوزاُ هعذل آىّا ( .داًؾجَیاًی وِ درط ًگزفتِاًذ ًیش بایذ حضَر داؽتِباؽٌذ). 1 ً ⅔ )bام توام داًؾجَیاًی وِ حذالل یه بار درط ’ ‘CE384را افتادُاًذ . )cؽوارُ جفت داًؾجَیاًی وِ حذالل در 1۰درط ّوىالط بَدُاًذ. ³ )dؽوارُ جفت داًؾجَیاى ّن رؽتِ وِ ّیچگاُ ّوىالط ًبَدُاًذ. ً )eام اعاتیذی وِ هیاًگیي توام درٍط ارائِ ؽذُ تَعظ آًْا اس 16بیؾتز اعت . ³ )fؽوارُ ٍ ًام اعاتیذی وِ حذالل در یه تزم ووتز اس دٍ درط ارائِ وزدُاًذ . )gؽوارُ داًؾجَیاًی وِ توام درطّای گزفتِ ؽذُ تَعظ داًؾجَی ’ ‘777را گزفتِ باؽٌذ . 1بزای ایي لغوت هیتَاًیذ اس اًَاع OUTER JOINاعتفادُ ًواییذ. () 3 ⅔ )hؽوارُ درطّای تزم دٍم عال 1393را بذّیذ وِ تٌْا تَعظ داًؾجَیاى ًزمافشار گزفتِ ؽذُ اعت. )iبزای ّز درط ،گزٍُ درعی وِ هیاًگیي ًوزات آى وویٌِ بَدُ اعت را بذّیذ (ؽوارُ درط ،تزم ٍ عالً ،ام اعتاد ٍ ،هیاًگیي ًوزات). ( هفزٍض اعت .عغزّایی در ایي جذٍل ٍارد وٌیذ بِ ًحَی وِ پاعخ دٍ پزعؼ سیز یىغاى ًباؽذ : )3جذٍل ) ⅔ )4فزض وٌیذ در SQLوالس (+ SELECT B, C FROM T ; ’WHERE B = ’b1’ OR C > ‘c1 SELECT B, C FROM T ’WHERE B = ’b1 UNION SELECT B, C FROM T ; ’WHERE C > ‘c1 * ) ٍجَد ًذاؽتِ باؽذ .چگًَِ هیتَاى عولىزد آًزا ؽبیِعاسی وزد؟ )5با اعتفادُ اس لابلیت RECURSIVEدر SQLبِ پزعؼّای سیز پاعخ دّیذ . ⌘ در هحیظ ًخغت : ( )aاختیاری -بزای آهَسػ) ًام توام لغعات بِ وار رفتِ در لغعِی ’. ‘p102 ( )bاختیاری -بزای آهَسػ) ؽوارُ لغعِ (ّایی) وِ بیؾتزیي تعذاد لغعات هتوایش در عاخت آى بِ وار رفتِاعت. در هحیظ دٍم : ⅔ )cدرطّایی وِ داًؾجَی ’ ‘777توام پیؼًیاسّای آى (هغتمین یا غیز هغتمین) را گذراًذُاعت . )dدرط (ّایی) وِ بلٌذتزیي هغیز (ّای) پیؾٌیاسی اس آى (ّا) ؽزٍع هیؽَد . راٌّوایی :ابتذا جذٍلی بغاسیذ ؽاهل جفت درٍط هٌغماً پیؾٌیاس بِ ّوزاُ فاصلِیؾاى. ³ )6بزای هحیظ دٍم ،بزًاهِای بِ SQLادغام ؽذُ (در یه سباى بزًاهِعاسی دلخَاُ) بٌَیغیذ وِ فْزعت داًؾجَیاًی وِ در دٍ تزم هتَالی هؾزٍط ؽذُاًذ را تَلیذ وٌذ. )7دٍ جذٍل ٍ هتمابالً اس عزیك ولیذ خارجی بِ ّن ارجاع هیدٌّذ .هیداًین وِ جذاٍل در بذٍ تعزیف خالی ّغتٌذ .در ٍارد وزدى عغزّا در ایي دٍ جذٍل چِ هؾىلی بزٍس هیوٌذ ؟ چِ راُ حلی در ٍ SQLجَد دارد ؟ () 4 )8دعتَر CASEرا هغالعِ وزدُ ٍ بِ پزعؼّای سیز پاعخ دّیذ : ⅔ )aعبارتی بِ سباى SQLبٌَیغیذ وِ خزٍجی آى ّ ،واى جذٍل STGاهّا با ًوزات ویفی (… )A , B ,باؽذ . )bبا تَجِ بِ جذٍل رٍبزٍ ،جذٍل پاعخ پزعؼ سیز را بِ دعت آٍریذ : SELECT NX, Y, Z FROM (SELECT T.Y, T.Z, (CASE WHEN T.X > 50 THEN T.X – 40 ELSE T.X + 10 END) AS NX FROM T) AS TT ;)WHERE NX BETWEEN (10, 20 Z z1 z1 z1 z3 z4 z2 z4 Y y1 y2 y1 y2 y3 y3 y3 X 10 20 3 15 1000 60 16 T: .IIتمرینهای تکمیلی (اختیاری) )1رفتار یه عیغتن جذٍلی با NULLرا بزرعی ٍ گشارػ وٌیذ . )2عبارت هٌغمی )ؽزط هعتبز( را چگًَِ هیتَاى با سباى SQLپیادُ عاسی وزد ؟ )3در هحیظ دٍم ،بِ سباى SQLعبارتی بٌَیغیذ وِ : 1۰ )aداًؾجَی با هعذل ووتز را خزٍجی دّذ . )bفْزعت درٍط داًؾىذُ واهپیَتز را خزٍجی دّذ (دٍ حزف اٍل ؽٌاعِ درٍط داًؾىذُ واهپیَتز CEاعت ٍ پظ اس آى یه عذد 5رلوی اعت وِ دٍ رلن اٍل آى 4۰اعت). .III تمرینهای عمومی (اختیاری) )1عیغتنّای NoSQLچِ عیغتنّایی ّغتٌذ ؟ دعتَرات ولیذی آًْا را ؽزح دّیذ . )2هغالعِی وتابخاًِّای «ًگاؽت ؽیء-رابغِای »2هاًٌذ ٍ (2)(1) Hibernate ORMبزرعی اهىاًات ٍ آؽٌایی با ؽیَُی وار با آىّا. منابع 1. [Online] [Cited: 3 24, 2015.] http://en.wikipedia.org/wiki/Hibernate_%28Java%29. 2. [Online] [Cited: 3 24, 2015.] http://hibernate.org/. Object-Relational Mapping () 5 2
© Copyright 2025 Paperzz