본문 바로가기
728x90

DBMS7

9. 5장 SQL: QUERIES,CONSTRNNTS, TRIGGERS - VIEW, subqueries, WITH, NULL VIEW물리적으로(materialized) 존재하지 않는다!!!편의를 위해, 보안을 위해 만든 논리적인 테이블이다.=> 근데 사용할때는 테이블마냥 사용하는듯하다..!ㅎCREATE VIEW RedcountAS SELECT B.bid, COUNT(*) AS scount FROM Boats B, Reserves R WHERE R.bid = B.bid AND B.color='red' GROUP BY B.bid;이렇게 AS뒤에 원하는 조건을 넣어주면 된다. 이렇게 view를 만들어두면,,, 나중에 저런 테이블이 필요할때 복잡하게 적을필요가 없어진다! SubqueriesSELECT, FROM, WEHRE에 각각 서브쿼리를 넣을 수 있다!근데.. SELECT는 느려서 거의 사용하지 않는다고 하고 설명도 안.. 2024. 10. 16.
8. 5장 SQL: QUERIES,CONSTRNNTS, TRIGGERS - DML, multi-table 이번에는 멀티테이블을 사용해본다!-> 여러개의 테이블을 합쳐서 본다,,,즉, 쿼리를 시작하기 전에, from에 넣어준 테이블을을 cross-product한 다음에 그 다음동작들을 해준다cross-product하면,, 하나의 테이블이 되는거니까 나머지 동작은 이전 포스트에서 했던것과 똑같을것같다! 전체적인 흐름으로 보면,,,1. FROM (cross product)2. WHERE (조건에 맞지 않는 row 삭제)3. SELECT (colums선택)4. GROUP BY (그룹짓지, aggregate해주기)5. HAVING (조건에 맞지않는 그룹 삭제하기)6. DISTINCT (중복제거)순서로 실행된다고 한다!SQL은 코드에 적은 순서대로 실행되는게 아니라 여러모로 햇갈리는것같다...다만,,,, Query o.. 2024. 10. 16.
7. 5장 SQL: QUERIES,CONSTRNNTS, TRIGGERS - DML , Basic Singe-table Queries DML에 어떤 종류가 있는지를 계속 살펴본다. SELECT [DISTINCT] FROM [WHERE ][GROUP BY [HAVING ] ][ORDER BY ][LIMIT ];이렇게,,, 다양한 종류가 있다!! 하나씩 천천히 보자,, 1. SELCT, FROM, WHERESELECT FROM WHERE ;이전 글에서도 봤던 가장 간단한 구조이다!-> SELECT 뒤에, 내가 테이블에서 어떤 column을 보여줄 지 적어준다-> FROM뒤에 어떤 테이블을 이용할것인지 명시해준다-> WHERE뒤에 내가 볼 데이터들의 조건을 설정해준다. 2. DISTINCT그냥 SELECT로만 하면,, 멀티셋이 만들어질 수 있다!!-> 내가 S.name만 보려고 하면,,, 동명이인이 있을 때 멀티셋이 생긴다!=> 이렇게 멀.. 2024. 10. 15.
5. 4장 RELATIONAL ALGEBRA AND CALCULUS SQL로 작성한 쿼리문이 어떻게 수학적 표현으로 바뀌는지,,,? 에 대한 내용이다. SQL Query는 Query Parser & Optimizer로 인해 Relational Algebra로 변환된다.Realtional Algebra는 Query Plan이라는 형태로 생각될 수 있다.=> 즉 프로그램이 실행하는건 Query Plan을 보고 실행하는것!!=> 여기에 관련된게 B+트리라고 한다!.. Relational Algebra관계대수 : 연산자들로 이루어진 대수적 체계... -> 집합연산,,? 같은 느낌?? 인것같다특징- Closed : 폐쇄성    연산 결과도 relation임!! -> 즉,, 연산결과를 다른 연산의 인풋으로 넣을 수 있다.- typed : 타입이 있음    입력되는 테이블의 구조 (.. 2024. 10. 11.
4. 2장 데이터베이스 설계 (database design) (4) - Logical Database Design 데이터 베이스 설계 단계 6개를 다시 가져와봤다 1. 요구사항 분석 (Requirements Analysis)2. 개념적 데이터 베이스 설계 (Conceptual Database Design)3. 논리적 데이터베이스 설계 (Logical Database Design)4. 스키마 정제 (Schema Refinement)5. 물리적 데이터베이스 설계 (Physical Database Design)6. 애플리케이션 및 보안 설계 (Application and Securyt Design) 바로 앞 내용으로 2. conceptual database design을 마무리했다 (ER modeling)이제 이렇게 설계한 ER modeling을 관계형 모델로 변환하는 방법을 배운다 == SQL 다루는법 배우는것! Ent.. 2024. 10. 10.
3. 2장 데이터베이스 설계 (database design) (3) - Conceptual Database Design ER 모델을 이용해 개념적 설계를 할 때 고려하면 좋을 부분에 대해 설명한다. Entity vs Attribute특정 정보를 속성으로 정의할지, 엔티티로 정의할 지 결정할 필요가 있다. 예를 들어,, 직원의 주소를 생각해보자.직원의 주소에는 시, 군, 구, 동, 번지, 상세주소 등등으로 나눌 수 있다.    당장 나만해도 "서울특별시 서초구 어쩌구동 이러쿵아파트 3단지 302동 101호" 와 같은 형태로 이루어져있다.1. 그냥 attribute로 정의하기    "직원" entity의 속성으로 주소 라는 속성이 추가된다.    이 경우 그냥 string으로 저장할 수 있다...2. entity로 정의하기    주소를 조각조각 내서 저장하고 싶다면, "주소" entity를 정의해서 넣어주는게 좋을 수 있다!.. 2024. 10. 10.
728x90