country table의 continent별로 인구수의 평균을 구하시오.
단, 소수점 아래는 버림하고, 정수만 구하시오.
조회할 컬럼:continent, 평균 인구(정수)
*FLOOR 함수 사용
=============================================================
ksmartdb 회원 레벨 이름이 "관리자"인 회원의 이름, 레벨 이름, 이메일 조회하세요.
회원 중, 2월에 로그인한 회원의 아이디, 이메일, 로그인 일자를 조회
힌트:MONTH(), >=기간 비교, BETWEEN ~ AND 등
====================
확인방법
1.NULL값을 찾을때 , = 이 아닌, IS NULL을 사용한다.
--> mem_email IS NULL
2.NULL이 아닌 값을 찾을 때, IS NOT NULL;
-->mem_email IS NOT NULL
============================================
등급이 없는 회원의 아이디, 이름, 레벨을 조회하시오
데이터베이스 설계
-사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
-실무 능력, 경험. 단, 좋은 설계와 나쁜 설계는 분명히 존재
단계
-요구 사항 수집 및 분석
-개념적 > 논리적 > 물리적
-구현
개념적
-ERD, DBMS에 독립적이다
-개체와 속성을 추출한다.
-업무와 관련이 깊은 명사를 추출하며,
예시: 마트에서 상품을 구입하는 경우 -> 상품, 마트, 고객, 직원, 관리자.
2)대학교 학사 관리
사물: 강의실, 교자재, 행정실 등등
사람: 행정 담당자, 학생, 교수 등등
쇼핑몰 구현
쇼핑몰, 회원, 아이디, 비밀번호.. 등
-> 쇼핑몰은 광범위하고 일반적인 의미, 제외한다.
객체 간의 관게를 추출한다.
관계: 개체 간 의미있는 연관성.
추출 방법: 요구 사항 문장에서 개체 간 연관성을 의미있게 표현한 동사를 추출한다.
관계 추출 예시
회원이 상품을 주문한다
제조 업체 - 상품 -> 공급한다.
회원이 게시글을 > 작성한다.
논리적 설계
DBMS에 적합한 구조 설계
릴레이션 스키마로 변환.
속성에 대한 세부 내용 결정 - 데이버 타입, 길이, NULL허용 여부, 기본 값
, 제약 조건 등등 --> 문서화
릴레이션 변환 규칙
1.모든 개체는 릴레이션으로 변환한다.
2. 다다 관계는 릴레이션으로 변환한다.
3. 1:다 관계는 외래키로 표현한다.
4. 1:1관계는 외래키로 표현한다.
5. 다중 값 속성은 릴레이션으로 변환한다.
개념적
- 개체 추출, 릴레이션으로 변환.
-개체의 핵심 속성을 추출한다.
ex)
고객: 이름, 주소, 연락처 등
도서: 도서 이름, 출판사, 단가 등
정규화: 잘 못 설계된 테이블을 수정하여 정상으로 만드는 과정.
기본원칙: 하나의 테이블에는 중복된 데이터가 없다록 하는것.
2. 다다 관계는 릴레이션으로 변환한다.
->정규화에 위반되는 다다 관계는 반드시 관계를 재설정해야한다.
3. 1:다 관계는 외래키로 표현한다.
제조 업체 - 상품
1 여러상품을 공급하다
제조업체(업체명, 연락처, 주소, 담당자)
상품(상품코드, 상품명, 재고량, 단가, 업체명)
*강한 개체와 약한객체
강한 개체: 다른 개체의 도움 없이 존재할 수 있다.
약한 객체: 독자적으로 존재할 수 없다. 반드시 상위 개체가 필요함.
*약한 개체가 참여하는 1:n관계는 외래 키를 포함하여 기본 키로 지정한다.
카테고리 만들때, 대 분류 중 소
4. 1:1관계는 외래키로 표현한다.
-1:1관계는 많이 없다.
-일반적인 1:1관계는 외래 키를 서로 주고 받는다.
-필수적으로 참여하는 개체의 릴레이션에 외래 키를 받는다.
-모든 개체가 1:1관계에 필수적으로 참여한다면, 릴레이션을 합칠 수 있다.
일반적인 1:1관계
남자(남자번호, 이름, 연락처, 건강상태, 여자번호)
여자(남자번호, 이름, 연락처, 건강상태, 남자번호)
필수적으로 참여하는 개체
남자(남자번호, 이름, 연락처, 건강상태, 여자번호)
여자(남자번호, 이름, 연락처, 건강상태)
모든 개체가 1:1관계에 필수적으로 참여
남자(남자번호, 이름, 연락처, 건강상태, 여자번호)
여자(남자번호, 이름, 연락처, 건강상태, 여자번호)
혼인(남자번호,여자번호,남자이름, 남연락처, 남건강상태, 여이름, 여연락처, 여건강상태 )
4. 물리적 설계 - 문서화한 내용을 실제로 만든다.
5.구현
===============================
eXERD는 데이터 모델링 툴.
F4,F5 -> 논리모드, 물리 모드 변경 가능.
논리 모드: 테이블의 정보, Comment작성
물리 모드: 실제 테이블의 이름, 컬럼 작성
리버스 엔지니어링: DBMS의 객체들을 E-R다이어그램으로 가지고 오는.
포워드 엔지니어링: 데이터베이스 모델링 후, DBMS에 테이블을 생성, 등록해주는 기능.
이상 현상(Anomaly)
데이터의 조작(삽입, 수정, 삭제)하는 경우, 이상 현상이 발생한다.
이상현상이 발생하면, 데이터베이스의 일관성 훼손, 무결성이 깨진다.
종류(잘 못 설계된 테이블에서 이상 현상 발생)
삽입 이상: 릴레이션에 데이터를 삽입 시, 원하지 않는 데이터도 함께 삽입해야하는 현상
삭제 이상: 릴레이션에서 튜플 삭제 시, 원하지 않는 값들도 함께 삭제되는 현상
갱신 이상: 릴레이션의 튜플 속성 값 갱신 시, 일부 튜플의 정보만 갱신되어 정보의 모순이 발생
'기록(노트)' 카테고리의 다른 글
리액트(React) 기초 독학 (0) | 2023.05.29 |
---|---|
정규화(1NF,2NF,3NF)/composite primary key(복합 키)/함수적 종속성(Functional Dependency) (0) | 2023.05.23 |
2팀 프로젝트: (0) | 2023.04.19 |
자바스크립트:클로저(Closure)/내장객체(시간,날짜) (0) | 2023.04.16 |
이게 뭐임? 데이스베이스인듯 (0) | 2023.04.14 |