1 / 10

Shahriar Pirnia pirnia

Data Base پايگاه داده ها. Shahriar Pirnia http://www.pirnia.net. مسائل نمونه. در محیط عملیاتی دانشکده پایگاه داده با رابطه های Lesson (درس) ، Class (کلاس) ، Grade (نمره)، Professor (استاد)، Group (گروه آموزشی)، Student (دانشجو) مفروض است.

Download Presentation

Shahriar Pirnia pirnia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Base پايگاه داده ها Shahriar Pirnia http://www.pirnia.net

  2. مسائل نمونه در محیط عملیاتی دانشکده پایگاه داده با رابطه های Lesson (درس) ، Class (کلاس)، Grade(نمره)، Professor(استاد)، Group(گروه آموزشی)،Student(دانشجو) مفروض است. ساختار جداول و یک نمونه ازهر جدول و مفهوم هر رکورد در ذیل آمده است ، همچنین جهت وضوح بیشتر و بیان ارتباطات میان موجودیت ها و مشخص شدن کلیدهای خارجی و کلیدهای اصلی تعاریف جداول نیز در پایین آمده است. راهنمایی : وقتی دانشجو کلاسی را اخذ مینماید در ابتدای ترم به ازای هر کلاسی که اخذ کرده یک رکورد در جدول Grade اضافه می شود که ستون Grade آن null است . پس از پایان ترم نمره دانشجو در ستون Grade درج می شود.

  3. Lesson درس Professor استاد Class کلاس (ارتباط بین موجودیتهای درس و استاد) Group گروه Grade نمره

  4. دانشجو Student

  5. سوال 1 : مشخصات دانشجویانی را بدهید که با استاد رضا احمدی در نیمسال اول 1382 درس پایگاه داده ها اخذ نموده اند . (صرفا با استفاده از SUBQUERY ) (می دانیم کد شناسایی استاد احمدی 85235 و کد درس پایگاه داده ها 7232 است . SELECT * FROM STUDENT WHERE id IN (SELECT STUDENTID FROM GRADE WHERE CLASSID IN (SELECT ID FROM CLASS WHERE PROFESSORID= '85235' AND LESSONCODE='7232' AND CLASSTERM='1' AND CLASSYEAR='82'))

  6. سوال 2 : QUERY سوال قبل را صرفا با استفاده از JOIN بنویسید . SELECT STUDENT.* FROM STUDENT,GRADE,CLASS WHERE STUDENT.ID= GRADE.STUDENTID AND GRADE.CLASSID= CLASS.ID AND CLASS.PROFESSORID= '85235' AND CLASS.LESSONCODE='7232' AND CLASS.CLASSTERM='1' AND CLASS.CLASSYEAR='82'

  7. سوال 3 : مشخصات کلاسهای گروه کامپیوتر را از سیستم حذف نمایید. (راهنمایی : می دانیم کد گروه کامپیوتر 11 است . ضمنا توجه کنید اساتید گروه کامپیوتر ممکن است دروسی از گروههای دیگر مانند دروس علوم پایه را نیز تدریس کنند.) DELETE FROM CLASS WHERE LESSONCODE IN (SELECT LESSONCODE FROM LESSON WHERE GROUPCODE='11')

  8. سوال 4 : لیست متشکل از کد هر درس و تعداد کلاسهای آن درس در نیمسال اول 1382 را بدهید . SELECT LESSONCODE,COUNT(*) AS NUMBER روش اول : FROM CLASS GROUP BY LESSONCODE, CLASSYEAR, CLASSTERM HAVING CLASSYEAR=82 AND CLASSTERM=1 SELECT LESSONCODE,COUNT(*) AS NUMBERروش دوم : FROM CLASS WHERE CLASSYEAR=82 AND CLASSTERM=1 GROUP BY LESSONCODE

  9. سوال 5 : در مورد کلاس با کد شناسایی 101 ، کد شناسایی استاد اشتباها 93522 درج شده . کد شناسایی استاد آن کلاس را به 85243 اصلاح نمایید . UPDATE CLASS SET PROFESSORID=85243 WHERE ID=101

  10. سوال 6 : صرفا با استفاده از EXISTS یا NOT EXISTS مشخصات اساتیدی را بدهید که در نیمسال اول 1382 حداقل یک درس را تدریس نموده اند . SELECT PROFESSOR.* FROM PROFESSOR WHERE EXISTS (SELECT * FROM CLASS WHERE PROFESSOR.ID=CLASS.PROFESSORID AND CLASS.CLASSYEAR=82 AND CLASS.CLASSTERM=1)

More Related