Professional Documents
Culture Documents
Dblab Lecture5 2015
Dblab Lecture5 2015
- ER
CREATE TABLE student(
name VARCHAR(25) DEFAULT 'unknown' NOT NULL,
lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL,
AM INT(5) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(AM)
);
CREATE TABLE professor(
CREATE TABLE course (
title VARCHAR(255) DEFAULT 'unknown' NOT NULL,
material TEXT,
course_id INT(4) NOT NULL AUTO_INCREMENT,
supervisor VARCHAR(255) NOT NULL,
PRIMARY KEY(course_id),
UNIQUE(title),
CONSTRAINT SUPERVISED
FOREIGN KEY (supervisor) REFERENCES professor(email)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE books (
title VARCHAR(128) DEFAULT Title' NOT NULL,
course_book INT(4) NOT NULL,
PRIMARY KEY(title,course_book),
CONSTRAINT CRSBOOK
FOREIGN KEY (course_book) REFERENCES course(course_id)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE lecture (
subject VARCHAR(128),
num_lectureINT(2) NOT NULL,
course_lectureINT(4) NOT NULL,
PRIMARY KEY(num_lecture,course_lecture),
CONSTRAINT CRSLECTURE
FOREIGN KEY (course_lecture) REFERENCES course(course_id)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE registration (
reg_dateDATE NOT NULL,
reg_studentINT(5) NOT NULL,
reg_courseINT(4) NOT NULL,
PRIMARY KEY(reg_student,reg_course),
CONSTRAINT CRSREGISTRATION
FOREIGN KEY (reg_course) REFERENCES course(course_id)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT STDNTREGISTRATION
FOREIGN KEY (reg_student) REFERENCES student(AM)
ON DELETE CASCADE ON UPDATE CASCADE);
select.
select
(
).
select :
( )
select :
Select:
SELECT < >:
*
FROM < >:
,
(join)
Select: WHERE
:
Boolean: AND, OR, NOT
: =, <>, >, <, >=, <=
NULL: IS NULL, IS NOT NULL
: LIKE ( wildcards)
%
_
Select -
2000
ids 2191
email pap@ceid.upatras.gr
Select -
2012
2011
SELECT
Select a1, a2, .., an
From r1, r2, .., rm
Where P
[order by ..]
[group by .]
[having]
Select Order By
,
ASC DESC
2012
Select - Limit
: LIMIT m,n
m
( 0)
n .
, m
LIMIT
2012
Select - Group By
GROUP BY
Group By
(group)
SUM:
COUNT:
MAX:
MIN:
AVG:
Select - Having
group by (
)
:
where
Having <-> Where ( )
1
2012
Select Group By
(= )
ids
: ;
2012
;
:
select
select
2012
: JOIN
JOIN:
,
,
id
NNER JOIN:
LEFT JOIN: ,
RIGHT JOIN:
:
, WHERE
id
JOIN
2 ,
,
JOIN
Aliases
keyword as MySQL
query
queries , ,
Aliases join
(1/3)
aliases
Aliases join
(2/3)
Aliases join
(3/3)
eclass 3
( 24/11)
2 : 25/11
10:00-11:00
11:00-12:00
12:00-1:00
1:00-2:00
(select)
45
diogenis
eclass
: 3/12