HW2.pdf

‫ثِ ًبم یگبًِ خبلك ّستی ثخص‬
‫توشیي سشی دٍم دسس عشاحی پبیگبُ دادُّب‬
‫اّذاف‪:‬‬
‫‪‬‬
‫آضٌبیی ثب عشاحی هٌغمی پبیگبُ دادُ‬
‫مهلت ارسال تمرین ‪ :‬جمعه ‪ 8‬آذر ‪29‬‬
‫داًطکذُ هٌْذسی کبهپیَتش‬
‫داًطگبُ صٌعتی ضشیف‬
‫آثبى ‪2991‬‬
‫بخش اول‪ :‬سواالت تشریحی‬
‫‪.2‬‬
‫‪.1‬‬
‫‪.9‬‬
‫‪.4‬‬
‫هٌظَس اص عشاحی هٌغمی چیست؟‬
‫سبختبس دادُ جذٍلی چِ هضایب ٍ هعبیجی داسد؟‬
‫ضوبی پبیگبُ دادُ‪ ،‬چِ فشصتّبیی سا دس تَسعِی پبیگبُدادُّب فشاّن هیکٌذ؟‬
‫تفبٍت ‪ having ٍ where‬دس ‪ SQL‬چیست؟‬
‫بخش دوم‪ :‬سواالت تحلیلی‬
‫‪ .2‬ثِ صثبى ‪ LQS‬یک ثشًبهِ ثٌَیسیذ کِ جذٍل صیش سا ثذّذ‪.‬‬
‫جوع اعذاد فیجًَبچی تب ایي هشحلِ‬
‫عذد فیجًَبچی هَسد ًظش ثشای ایي هشحلِ‬
‫ضوبسُ هشحلِ‬
‫‪+ .1‬گفتبس ‪ ،4‬سَال ‪ *5‬فشض کٌیذ سبختبس دادُای "هجوَعِ سیبضی" ثبضذ‪ ،‬ثِ عَس کلی چِ دستَساتی ثشای تعشیف‬
‫پبیگبُدادُّب ٍ اًجبم عولیبت دس آى الصم است؟‬
‫‪ .9‬پبیگبُدادُی جذٍلی سا ثشای هذلسبصیّبی صیش عشاحی کٌیذ‪.‬‬
‫الف)‬
‫ة)‬
‫ج)‬
‫‪ .4‬ضشکتی ثب خذهِ ٍ هطتشیبى صیبد‪ ،‬ضبهل چٌذیي فشٍضگبُ کِ ّش کذام ضبهل چٌذیي دپبستوبى‪ 2‬هیجبضٌذ‪ .‬فشٍش ضشکت‬
‫دس جذٍل ‪ sale ٍ debit‬ثجت ضذُاًذ‪ّ .‬وچٌیي ضشکت ثب چٌذیي تبهیيکٌٌذُ‪ 1‬لشاسداد داسد کِ اجٌبس هَسد ًیبص ضشکت‬
‫سا تبهیي هیکٌٌذ‪ٍ .‬ضعیت پبیگبُدادُی جبسی‪ ،‬تعشیف ٍ ًیض هحتَیبت جبسی ایي پبیگبُدادُ ثِ پیَست آهذُ است‪ .‬ثب تَجِ‬
‫ثِ ایي ضشایظ ثِ سَاالت صیش پبسخ دّیذ‪ّ .‬وچٌیي اگش اعالعبتی عالٍُ ثبس آًچِ دس صَست سَاالت ثیبى ضذُ‪ ،‬الصم است‬
‫آى سا ثیبى کٌیذ‪.‬‬
‫الف) دیبگشام پیَست سا ثِ دلت ثشسسی کشدُ ٍ هَاسد صیش سا سٍی آى اضبفِ کٌیذ‪.‬‬
‫‪ -2‬کبسدیٌبلیتی )هثل یک ثِ یک‪ ،‬یک ثِ چٌذ ٍ‪(...‬‬
‫‪ٍ -1‬ضعیت هطبسکتّب (کبهل ٍ ًبکبهل)‬
‫‪department‬‬
‫‪supplier‬‬
‫‪1‬‬
‫‪2‬‬
‫ة) هیخَاّن هَجَدیتی ثب عٌَاى ‪ manager‬ثِ دیبگشام اضبفِ کٌین‪ manager .‬هسئَل ّش دپبستوبى ٍ‬
‫دیگش کبسکٌبى است‪ً .‬وَداس ٍ ًیض پبیگبُ دادُ سا ثب ًَجِ ثِ ایي هغلت ثِ سٍصسسبًی کٌیذ‪ .‬دلت کٌیذ کِ عالٍُ ثش‬
‫تکویل ًوَداس ‪ًَ ،EER‬ضتي کذّبی ‪ DDL‬الضاهی است‪.‬‬
‫ج) هیخَاّین لبثلیتی اضبفِ کٌین کِ ثِ هطتشیبى‪ ،‬کبست عضَیت اّذا کٌین‪ .‬ایي کبست ثب آًبى لبثلیت اثي سا‬
‫هیدّذ کِ ثب داضتي اکبًتی‪ ،‬عالٍُ ثش خشیذ ثب آى ثتَاًٌذ پَل خَد سا رخیشُ ٍ یب ثبصپس ثگیشًذ‪ .‬اعالعبت ٍ‬
‫هَجَدیتّبیی کِ فکش هیکٌیذ ثشای ایي کبس الصم است (هثل هطخصبت هطتشیبى‪ ،‬اعالعبت هشثَط ثِ رخیشُ‬
‫پَلی آىّب ٍ تشاکٌصّبی خشیذ آىّب) سا ثِ جذٍل اضبفِ کٌیذ‪ .‬ثِ ّویي جْت تَصیِ هیضَد جذٍل ‪debit‬‬
‫سا ‪ ٍ drop‬ثب جذٍل کبهلتشی ثب عٌَاى ‪ transaction‬جبیگضیي کٌیذ‪ .‬دلت کٌیذ کِ عالٍُ ثش تکویل ًوَداس‬
‫‪ًَ ،EER‬ضتي کذّبی ‪ DDL‬الضاهی است‪.‬‬
‫د) پس اص تکویل جذٍل ثِ تَجِ ثِ ًکبت ٍ تَصیِّبی ثیبى ضذُ‪ ،‬ثب استفبدُ اص دستَسات ‪ ،SQL‬هَاسد صیش سا‬
‫جستجَ کٌیذ‪.‬‬
‫‪ -2‬لیست توبهی کبسکٌبى‬
‫‪ -1‬لیست اسبهی توبهی دپبستوبىّب‬
‫‪ -9‬چِ هَاسدی دس فشٍضگبُ هَجَد ًیست؟ (‪)QOH=0‬‬
‫‪ -4‬کذاهیي کبسکٌبى حمَلی ثیي ‪ 29999 ٍ 9999‬داسًذ؟ (ثِ تشتیت ًضٍلی حمَق)‬
‫‪ -5‬سي ّش یک اص کبسکٌبى‬
‫‪ -6‬کذاهیک اص کبسکٌبى ًبهی داسًذ کِ ثب ”‪ “son‬توبم هیضَد‪.‬‬
‫‪ -7‬کذام یک اص تبهیيکٌٌذگبى الالمِ ضشکت ثَسیلِی ”‪ “Playskool‬تبهیي ضذُ است؟ (ثب استفبدُ اص‬
‫‪"where-clause ٍ sub-query‬‬
‫‪ -8‬ضوبسُ ‪ 7‬ثذٍى ‪sub-query‬‬
‫‪ً -9‬بم ‪ّpart‬بیی کِ اص ‪ black tape drive‬سٌگیيتش ّستٌذ‪.‬‬
‫‪ٍ -29‬صى هیبًگیي ‪ّpart‬بی سیبُ چمذس است؟‬
‫‪ -22‬جذٍل جذیذی ایجبد کٌیذ کِ ضبهل توبهی الالهی ثبضذ کِ اص لیوت هیبًگیي کلیِی الالم کوتش‬
‫ثبضذ‪.‬‬
‫‪ -21‬توبهی ایي تبهیيکٌٌذگبى ضْش ‪ Los Angele‬سا اص لیست حزف کٌیذ‪.‬‬
‫بخش سوم‪ :‬سواالت تحقیقی‬
‫ایي ثخص ثِ عٌَاى ًوشُی اضبفی است‪ .‬هذل دادُای ضیگشا ٍ ًیض پبیگبُدادُّبی ضیگشا سا ثشسسی کٌیذ‪.‬‬
‫نحوهی ارسال تمرین‪:‬‬
‫‪-‬‬
‫پبسخ توشیي خَد سا تب سبعت ‪ 19:59‬جوعِ ‪ 8‬آرس ‪ 2991‬ثب فشهت ‪ ٍ PDF‬اسن فبیل ٍ عٌَاى ایویل ‪ DB_HW2_STID‬ثِ آدسس‬
‫‪ [email protected]‬اسسبل ًوبییذ‪.‬‬
‫‪-‬‬
‫توبم توشیي ثبیذ تَسظ خَد ضوب ًَضتِ ضذُ ثبضذٍ ثب ّش گًَِ کپی ثشداسی اص هٌبثع اًسبًی یب سایبًِای ثشخَسد خَاّذ ضذ‪.‬‬
‫ضمیمه‬
‫ًوَداس ‪ Entity-Relationship‬هشثَط ثِ ضشکت ثِ صَست صیش است‪.‬‬
.‫ضوبی پبیگبُدادُی ضشکت ثِ ضشح صیش است‬
CREATE TABLE employee
(number INTEGER CONSTRAINT pk_employee PRIMARY KEY, name VARCHAR(20),
salary INTEGER, manager INTEGER,
birthyear INTEGER, startyear
INTEGER);
CREATE TABLE dept
(number INTEGER CONSTRAINT pk_dept PRIMARY KEY, name VARCHAR(20),
store INTEGER NOT NULL,
floor INTEGER, manager INTEGER);
CREATE TABLE item
(number INTEGER CONSTRAINT pk_item PRIMARY KEY, name VARCHAR(20),
price INTEGER,
supplier INTEGER NOT NULL);
CREATE TABLE carries (item INTEGER NOT
NULL, dept INTEGER NOT NULL,
qoh INTEGER CONSTRAINT ck_item_qoh CHECK (qoh >= 0), CONSTRAINT
pk_carries PRIMARY KEY (item, dept));
CREATE TABLE parts
(number INTEGER CONSTRAINT pk_parts PRIMARY KEY, name VARCHAR(20),
color VARCHAR(8), weight INTEGER,
qoh INTEGER);
CREATE TABLE supply (supplier INTEGER NOT
NULL, part INTEGER NOT NULL,
shipdate DATE NOT NULL, quan INTEGER,
CONSTRAINT pk_supply PRIMARY KEY (supplier, part, shipdate));
CREATE TABLE sale
(debit INTEGER NOT NULL, item INTEGER NOT
NULL,
quantity INTEGER,
CONSTRAINT pk_sale PRIMARY KEY (debit, item));
CREATE TABLE debit
(number INTEGER CONSTRAINT pk_debit PRIMARY KEY, sdate DATE DEFAULT
CURRENT_DATE NOT NULL,
employee INTEGER NOT NULL, account
INTEGER);
CREATE TABLE city
(name VARCHAR(15) CONSTRAINT pk_city PRIMARY KEY,
state VARCHAR(6));
CREATE TABLE store
(number INTEGER CONSTRAINT pk_store PRIMARY KEY, city VARCHAR(15) NOT
NULL);
CREATE TABLE supplier
(number INTEGER CONSTRAINT pk_supplier PRIMARY KEY, name VARCHAR(20),
city VARCHAR(15) NOT NULL);
-- Add foreign keys ALTER TABLE dept
ADD CONSTRAINT fk_dept_store FOREIGN KEY (store) REFERENCES store (number);
ALTER TABLE dept
ADD CONSTRAINT fk_dept_employee FOREIGN KEY (manager) REFERENCES employee (number) ON DELETE SET NULL;
ALTER TABLE carries
ADD CONSTRAINT fk_carries_dept FOREIGN KEY (dept) REFERENCES dept (number);
ALTER TABLE item
ADD CONSTRAINT fk_item_supplier FOREIGN KEY (supplier) REFERENCES supplier (number);
ALTER TABLE supply
ADD CONSTRAINT fk_supply_supplier FOREIGN KEY (supplier) REFERENCES supplier (number);
ALTER TABLE supply
ADD CONSTRAINT fk_supply_parts FOREIGN KEY (part) REFERENCES parts (number);
ALTER TABLE sale
ADD CONSTRAINT fk_sale_item FOREIGN KEY (item) REFERENCES item (number);
ALTER TABLE sale
ADD CONSTRAINT fk_sale_debit FOREIGN KEY (debit) REFERENCES debit(number);
-- implies that a debit/transaction must be created before a sale record.
ALTER TABLE debit
ADD CONSTRAINT fk_debit_employee FOREIGN KEY (employee) REFERENCES employee(number);
ALTER TABLE store
ADD CONSTRAINT fk_store_city FOREIGN KEY (city) REFERENCES city (name);
ALTER TABLE supplier
ADD CONSTRAINT fk_supplier_city FOREIGN KEY (city) REFERENCES city (name);
-- Create the view that has to be modified in Assignment 3, question 17 CREATE VIEW
sale_supply(supplier, item, quantity) as
SELECT supplier.name, item.name, sale.quantity FROM supplier, item, sale
WHERE supplier.number = item.supplier AND sale.item =
item.number;
.‫ٍ جذاٍل آى ثِ صَست صیش هیثبضذ‬
SELECT * FROM employee;
NUMBER
===========
10
11
13
26
32
33
35
37
55
98
129
157
199
215
430
843
994
1110
1330
1523
1639
2398
4901
5119
5219
NAME
====================
Ross, Stanley
Ross, Stuart
Edwards, Peter
Thompson, Bob
Smythe, Carol
Hayes, Evelyn
Evans, Michael
Raveen, Lemont
James, Mary
Williams, Judy
Thomas, Tom
Jones, Tim
Bullock, J.D.
Collins, Joanne
Brunet, Paul C.
Schmidt, Herman
Iwano, Masahiro
Smith, Paul
Onstad, Richard
Zugnoni, Arthur A.
Choy, Wanda
Wallace, Maggie J.
Bailey, Chas M.
Bono, Sonny
Schwarz, Jason B.
SALARY
MANAGER
BIRTHYEAR
STARTYEAR
===========
===========
===========
===========
15908
199
1927
1945
12067
1931
1932
9000
199
1928
1958
13000
199
1930
1970
9050
199
1929
1967
10100
199
1931
1963
5000
32
1952
1974
11985
26
1950
1974
12000
199
1920
1969
9000
199
1935
1969
10000
199
1941
1962
12000
199
1940
1960
27000
1920
1920
7000
10
1950
1971
17674
129
1938
1959
11204
26
1936
1956
15641
129
1944
1970
6000
33
1952
1973
8779
13
1952
1971
19868
129
1928
1949
11160
55
1947
1970
7880
26
1940
1959
8377
32
1956
1975
13621
55
1939
1963
13374
33
1944
1959
25 rows found
SELECT * FROM dept;
NUMBER
===========
1
10
14
19
20
26
28
34
35
43
47
49
58
60
63
65
70
73
99
NAME
====================
Bargain
Candy
Jewelry
Furniture
Major Appliances
Linens
Women’s
Stationary
Book
Children’s
Junior Miss
Toys
Men’s
Sportswear
Women’s
Junior’s
Women’s
Children’s
Giftwrap
19 rows found
STORE
FLOOR
MANAGER
===========
===========
===========
5
0
37
5
1
13
8
1
33
7
4
26
7
4
26
7
3
157
8
2
32
5
1
33
5
1
55
8
2
32
7
2
129
8
2
35
7
2
129
5
1
10
7
3
32
7
3
37
5
1
10
5
1
10
5
1
98
SELECT * FROM store; NUMBER CITY
=========== ===============
5 San Francisco
7 Oakland
8 El Cerrito
3 rows found
SELECT * FROM item;
NUMBER
===========
11
19
21
23
25
26
43
52
101
106
107
115
118
119
120
121
127
165
258
301
NAME
====================
Wash Cloth
Bellbottoms
ABC Blocks
1 lb Box
2 lb Box, Mix
Earrings
Maze
Jacket
Slacks
Clock Book
The ’Feel’ Book
Gold Ring
Towels, Bath
Squeeze Ball
Twin Sheet
Queen Sheet
Ski Jumpsuit
Jean
Shirt
Boy’s Jean Suit
20 rows found
PRICE
SUPPLIER
===========
===========
75
213
450
33
198
125
215
42
450
42
1000
199
325
89
3295
15
1600
15
198
125
225
89
4995
199
250
213
250
89
800
213
1375
213
4350
15
825
33
650
33
1250
33
SELECT * FROM carries;
ITEM
DEPT
QOH
===========
===========
===========
1
14
220
11
1
575
19
43
600
21
1
405
21
49
120
23
10
100
25
10
75
26
14
20
43
49
200
52
60
300
101
63
325
101
28
125
101
70
225
106
49
150
106
1
175
107
35
225
115
14
10
118
26
1000
119
49
400
120
121
127
165
258
301
301
26
26
65
65
58
43
73
750
600
125
500
1200
500
100
23 rows found
SELECT * FROM parts;
NUMBER NAME
COLOR
WEIGHT
QOH
=========== ==================== ======== =========== ===========
1
2
3
4
5
6
7
8
9
10
11
12
13
14
central processor
memory
disk drive
tape drive
tapes
line printer
l-p paper
terminals
terminal paper
byte-soap
card reader
card punch
paper tape reader
paper tape punch
14 rows found
pink
gray
black
black
gray
yellow
white
blue
white
clear
gray
gray
black
black
10
20
685
450
1
578
15
19
2
0
327
427
107
147
1
32
2
4
250
3
95
15
350
143
0
0
0
0
SELECT * FROM sale;
TRANSACTION
===========
100581
100581
100582
100586
100586
100592
100593
100594
ITEM
QUANTITY
===========
===========
118
5
120
1
26
1
106
2
127
3
258
1
23
2
52
1
8 rows found
SELECT * FROM debit;
NUMBER SDATE
EMPLOYEE
ACCOUNT
=========== ========== =========== ===========
100581
100582
100586
100592
100593
100594
1995-01-15
1995-01-15
1995-01-16
1995-01-17
1995-01-18
1995-01-18
157
1110
35
129
13
215
6 rows found
SELECT * FROM city; NAME STATE
=============== ======
Amherst
Mass
Atlanta
Ga
Boston
Mass
Dallas
Tex
Denver
Colo
El Cerrito
Calif
Hickville
Okla
Los Angeles
Calif
Madison
Wisc
New York
NY
Oakland
Calif
Paxton
Ill
Salt Lake City Utah San Diego
San Francisco
Calif Seattle
White Plains
Neb
17 rows found
Calif
Wash
14356540
14096831
11652133
12591815
SELECT * FROM supply;
SUPPLIER
===========
5
5
20
20
62
67
89
89
122
122
122
241
241
241
241
241
241
440
475
475
475
475
475
475
999
PART
===========
4
4
5
5
3
4
3
4
7
7
9
1
2
3
4
8
9
6
1
1
2
2
3
4
10
SHIPDATE
==========
1994-11-15
1995-01-22
1995-01-10
1995-01-11
1994-06-18
1995-07-01
1995-07-04
1995-07-04
1995-02-01
1995-02-02
1995-02-01
1995-06-01
1995-06-01
1995-06-01
1993-12-31
1995-07-01
1995-07-01
1994-10-10
1993-12-31
1994-07-01
1993-12-31
1994-05-31
1993-12-31
1994-05-31
1996-01-01
QUAN
===========
3
6
20
75
3
1
1000
1000
144
48
144
1
32
1
1
1
144
2
1
1
32
32
2
1
144
25 rows found
SELECT * FROM supplier;
NUMBER NAME
CITY
=========== ==================== ===============
5 Amdahl
15 White Stag
20 Wormley
33 Levi-Strauss
42 Whitman’s
62 Data General
67 Edger
89 Fisher-Price
122 White Paper
125 Playskool
199 Koret
213 Cannon
241 IBM
440 Spooley
475 DEC
999 A E Neumann
San Diego
White Plains
Hickville
San Francisco
Denver
Atlanta
Salt Lake City
Boston
Seattle
Dallas
Los Angeles
Atlanta
New York
Paxton
Amherst
Madison
16 rows found
.‫ ثشداضتِ ضذُ است‬Mikael Lax ‫* اعالعبت ایي سَال اص صفحِی ضخصی‬