Computer Sciences/Database(20)
-
12. Aggregation and window function
Full-Relation Operations Eliminating Duplicates 일반적인 DB 서버들은 성능 향상을 위해 기본적으로 중복을 제거하지 않음 DISTINCT 키워드를 사용하면 중복 제거 가능 Duplicates in Unions, Intersections, and Differences 집합 연산자는 기본적으로 중복이 제거됨 중복 제거를 하지 않으려면 ALL 키워드를 사용 Grouping, Aggregation and Having Aggregation Operators SUM, AVG, MIN, MAX, COUNT 예시 SELECT MAX(netWorth) FROM MovieExec; SELECT AVG(netWorth) FROM MovieExec; // 테이블의 name의 개수 SELE..
2021.05.16 -
11. Set and Subquery
Set Intersection of Queries Query: 천만 불 이상의 수입을 가지는 영화 감독이면서 여자 스타인 사람들의 이름과 주소를 찾아라 (SELECT name, address FROM MovieStar WHERE gender = 'F') INTERSECT (SELECT name, address FROM MovieExec WHERE netWorth > 10000000); Except and Union of Queries (SELECT name, address FROM MovieStar) EXCEPT (SELECT name, address FROM MovieExec); (SELECT title, year FROM Movie) UNION (SELECT movieTitle AS title, mo..
2021.05.16 -
10. Join
Products and Joins in SQL 다수의 테이블에서 데이터를 찾고 싶을 때 join 기능을 사용함 Query: 'Star Wars'의 감독 이름은 무엇인가? Movie(title, year, length, inColor, studioName, producerCNo)MovieExec(name, address, certNo, netWorth) SELECT name FROM Movie, MovieExec WHERE title = 'Star Wars' AND producerCNo = certNo; → $πname(σtitle=′StarWars′(Movie⋈producerCNo=certNoMovieExec))\pi_(\sigma_(Movie⋈_MovieExec))πname(σtitle=′StarWa..
2021.05.16 -
9. use SQL
Basic SQL 'Movie' 테이블에서 studioName이 'Disney'이고 year가 1990인 데이터를 구하라 select * from Movie where studioName='Disney' and year=1990; 'Movie' 테이블에서 studioName이 'Disney'이고 year가 1990인 행의 title과 length를 구하라 select title, length from Movie where studioName='Disney' and year=1990; Comparison of String 문자열 비교는 =, !=, = 로 할 수 있음 비교는 사전순으로 진행됨 Pattern match %, _, \(backslash)로 할 수 있음 % : 0개 또는 1개 이상의 문자 _ :..
2021.05.16 -
7. Conversion to Relations
From Entity Sets to Relations 엔티티 세트를 릴레이션으로 변경할 때는 관계는 신경쓰지 않고 변경함 Stars(name, address) Movies(title, year, length, genre) Studios(name, address) From E/R Relationships to Relations 관계 세트를 릴레이션으로 변경할 때는 관계를 맺은 두 엔티티 세트의 키를 어트리뷰트로 새로운 릴레이션을 만듦. name을 starName과 studioName으로 변경한 이유는 명확성을 위해서임. StarsIn(starName, title, year) Owns(title, year, studioName) 관계가 다대일인 경우에는 '다'에 해당하는 릴레이션에 '일'의 키를 외래 키 컬..
2021.05.02 -
6-4. Weak Entity Sets
What is Weak Entity?Crews와 Studios는 다대일 관계이다. 그리고 Crews의 키는 number 하나이다. Studios가 하나일 때는 Crews의 number로 접근할 수 있지만 Studios가 늘어나 3개로 확장됐을 때는 number로만 찾을 수 없다. 따라서 각 Studio의 name과 Crews의 number를 함께 사용하여 찾아야 하는데 이렇게 관계를 맺은 엔티티 세트에 의존적인 엔티티를 약한 개체(Weak Entity)라고 한다.두 개의 사각형으로 표현하고 관계는 두 개의 마름모로 표현한다. 위와 같은 경우도 각 엔티티 세트는 Contracts라는 관계로 연결되어 있는데 salary만으로는 알맞은 데이터를 찾지 못하므로 위와같이 약한 개체로 만들고 그 관계를 이어준다.R..
2021.05.02