Skip to content

the-go-dragons/week04-exam05

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

week04-exam05 - هفته‌ی چهارم، تمرین پنجم، مشقیانو

مشقیانو

کوئری‌های شما باید روی MySQL قابل اجرا باشند.

اون یکی همکارمون که نخواست هویتش فاش بشه:) متاسفانه استادش بهش مشق‌های زیادی داده که چون خودش درگیر بوت‌کمپ و کالج‌های کوئراست از شما میخواد تا مشق‌هاشو براش بنویسید.

همان طور که در جریان هستید این مسائل نرمال‌سازی بیشتر جنبه تئوری دارند و در مسائل و مشق‌های دانشگاه مطرح میشوند. جدول اولیه سوپرمارکت که در صورت سوال مطرح شده به شرح زیر است:

db

اما همان‌طور که مشخص است، طراحی این دیتابیس اصلاً جالب نیست و افزونگی داده دارد.

در این سؤال، از شما می‌خواهیم این دیتابیس را برای اون یکی همکارمون نرمال‌سازی کنید.

جزئیات پروژه

اطلاعات جدول موجود به‌صورت زیر است:

نام ستون            نوع              تعریف
m_id    	bigint AUTO_INCREMENT	آی‌دی شعبه
m_name	    varchar(255)        	نام شعبه
m_address	text                	آدرس شعبه
p_id	    bigint AUTO_INCREMENT  	آی‌دی محصول
p_name  	varchar(255)	        نام محصول
p_weight	bigint	                وزن محصول
price	    bigint	                قیمت محصول
level   	int	                    سطح شعبه
m_score	    bigint	                امتیاز شعبه
capacity	bigint          	    ظرفیت تعداد محصول مربوط به سطح شعبه

هم‌چنین توجه کنید که در جدول بالا m_id و p_id کلید هستند.

مطلوبات

تنها خواسته از شما در این سوال این است که جدول شکلی که در ابتدای سؤال آمده است را پس از نرمال‌سازی، فقط با استفاده از دستورات DDL ایجاد و ارسال کنید. شما باید نرمال‌سازی را تا جایی ادامه دهید که هیچ‌کدام از وابستگی‌ها (dependencies) نقض نشوند. تنها نکته‌ی مهم این سؤال، نام‌گذاری جداول است. باید طبق جدول زیر از نام هر یک از جداول که احتیاج دارید، استفاده کنید.

کلید	نام جدول
شعبه‌ها	markets
امتیازات	scores
محصولات	products
نام‌ها	names
وزن‌ها	weights
آدرس‌ها	addresses
قیمت‌ها	prices
ظرفیت‌ها	capacities

نکات

  • دقت‌کنید که نیاز به استفاده از همه‌ی جداول ذکر شده در جدول بالا نیست و فقط باید از جداولی که به آن‌ها احتیاج دارید استفاده کنید.
  • تمام اطلاعات ستون‌ها (مانند نام و...) باید مشابه موارد ذکر شده در اول سؤال باشند و نباید تغییر کنند.
  • امکان NULL بودن در هیچ یک از ستون‌ها مجاز نیست.
  • کلیدهای خارجی باید به درستی ایجاد شوند (نام آن‌ها اهمیتی ندارد).

آن‌چه باید آپلود کنید پس از طراحی کوئری‌ها، کد خود را در قالب یک فایل با پسوند .sql آپلود کنید.

About

هفته‌ی چهارم، تمرین پنجم، مشقیانو

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •