Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
2
20230403
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
20230403
Commits
e030369d
Commit
e030369d
authored
Apr 06, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sklep.sql - pierwsza wersja
parent
e175b46b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
0 deletions
+52
-0
sklep.sql
PC25-SklepWeb/sql/sklep.sql
+52
-0
No files found.
PC25-SklepWeb/sql/sklep.sql
View file @
e030369d
DROP
TABLE
IF
EXISTS
order_products
;
DROP
TABLE
IF
EXISTS
orders
;
DROP
TABLE
IF
EXISTS
customers
;
DROP
TABLE
IF
EXISTS
products
;
CREATE
TABLE
products
(
product_id
SERIAL
PRIMARY
KEY
,
...
...
@@ -8,6 +12,33 @@ CREATE TABLE products (
);
-- w Oraclu nazwy tych typów to: VARCHAR2, NUMBER, CLOB
CREATE
TABLE
customers
(
-- w tej tabeli nie ma klucza numerycznego, tylko kluczem głównym będzie email klienta
customer_email
VARCHAR
(
255
)
PRIMARY
KEY
,
customer_name
VARCHAR
(
255
)
NOT
NULL
,
phone_number
VARCHAR
(
20
),
address
VARCHAR
(
200
),
postal_code
CHAR
(
6
),
city
VARCHAR
(
100
)
);
CREATE
TABLE
orders
(
order_id
SERIAL
PRIMARY
KEY
,
customer_email
VARCHAR
(
255
)
NOT
NULL
REFERENCES
customers
(
customer_email
),
status
VARCHAR
(
50
)
DEFAULT
'NEW'
NOT
NULL
,
order_date
TIMESTAMP
DEFAULT
current_timestamp
,
delivery_date
DATE
);
-- Realizacja związku wiele do wielu.
-- Akurat w tym przypadku są dodatkowe atrybuty, które trzeba tu wpisać.
CREATE
TABLE
order_products
(
order_id
INTEGER
NOT
NULL
REFERENCES
orders
(
order_id
),
product_id
INTEGER
NOT
NULL
REFERENCES
products
(
product_id
),
quantity
INTEGER
DEFAULT
1
NOT
NULL
,
PRIMARY
KEY
(
order_id
,
product_id
)
);
INSERT
INTO
products
(
product_name
,
price
,
vat
,
description
)
VALUES
(
'pralka'
,
2500
,
0
.
23
,
'Pralka szybka i oszczędna'
);
...
...
@@ -15,5 +46,26 @@ VALUES('pralka', 2500, 0.23, 'Pralka szybka i oszczędna');
INSERT
INTO
products
(
product_name
,
price
)
VALUES
(
'odkurzacz'
,
500
);
INSERT
INTO
products
VALUES
(
DEFAULT
,
'suszarka'
,
1200
,
0
.
23
,
'Szuszy, że hej'
);
INSERT
INTO
customers
VALUES
(
'ala@kowalska.pl'
,
'Ala Kowalska'
,
'123123123'
,
'Jasna 14/16a'
,
'01-234'
,
'Warszawa'
);
INSERT
INTO
orders
(
customer_email
,
status
,
order_date
,
delivery_date
)
VALUES
(
'ala@kowalska.pl'
,
'DELIVERED'
,
'2022-03-04 13:30:05'
,
'2022-03-08'
);
INSERT
INTO
orders
(
customer_email
)
VALUES
(
'ala@kowalska.pl'
);
INSERT
INTO
order_products
VALUES
(
1
,
1
,
2
);
-- Ala zamówiła dwie pralki
INSERT
INTO
order_products
VALUES
(
1
,
2
,
5
);
-- W tym samym zamówieniu jest 5 odkurzaczy
INSERT
INTO
order_products
VALUES
(
2
,
1
,
1
);
-- W zamówineiu nr 2 jest jedna pralka
SELECT
*
FROM
products
;
SELECT
*
FROM
orders
FULL
JOIN
customers
USING
(
customer_email
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment