| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 슬랙
- 정규형
- group-by
- 무료티어
- 중복서브타입
- IntelliJ
- 젠킨스
- vue3
- mysql
- 인텔리제이
- 물리모델
- Cloud
- 오라클
- 서브타입
- Slack
- index
- 배타서브타입
- 실행계획
- 워크벤치
- 불완전서브타입
- 클라우드
- jenkins
- Workbench
- 빈줄제거
- 인덱스
- SQL
- order-by
- bc정규형
- 완전서브타입
- Oracle
- Today
- Total
목록SQL (29)
domsam - IT 기술 블로그
1. 순서값 변경이 발생하지 않을 가능성이 높은 속성은 위쪽으로 위치한다.값 변경이 발생할 가능성이 크거나 속성 사이즈가 큰 경우 아래쪽에 위치한다.시스템 속성은 최하단에 위치한다. 2. 속성 종류- 기초 속성- 관계 속성- 추출 속성- 시스템 속성2-1 기초 속성엔터티의 본질을 설명하는 속성이다. 엔터티의 반드시 존재해야 하는 업무 식별자, 후보 식별자, 엔터티의 성격을 대표할 수 있는 핵심 속성, 업무를 정의하는 코드 속성 등이 기초 속성에 포함된다. 주문 엔터티의 '주문번호', '고객번호', '주문일자', '배송요청일자', '배송지주소' 등이 기초 속성이다. 기초 속성값은 End-User의 입력이라는 행위에 의해서 생성된다.2-2 관계 속성타 엔터티와의 연관성을 나타내는 속성이다. 보통 외래키(Fo..
1. 종류- 실체 엔터티- 행위 엔터티- 가공 엔터티- 기준 엔터티 1-1. 실체 엔터티본질적인 데이터를 관리, 고객/제품/비품/사원/창고/수표/노트북 등이 실제 물체대부분 부모(슈퍼타입)가 존재하지 않는다. 주로 업무의 시작점이 되는 데이터로 이루어지고 행위 엔터티의 주체가 된다. 고객이 실체 엔터티인데 이름/나이/생년월일/성별 등이 그 사람의 본질을 규정하는 데이터이기 때문이다. 주로 존재와 관련된 데이터라고 이해하면 좋다. 그 존재가 발생(생성)시키는 데이터는 행위 데이터이다.실체 엔터티의 주 식별자는 단순한 것이 좋다. 대리키(인조 식별자)를 추천한다. 카드의 경우, 플라스틱 카드 데이터는 실체 엔터티이지만 카드 계약은 고객이 카드를 사용하기 위해 계약한 데이터(행위 데이터)이다. 다만, 카드계약..
데이터 성격에 의해서 데이터 통합을 결정한다. 통합했을 때 발생하는 문제보다 통합하지 않을 때 발생하는 문제가 더욱 많고 심각하므로 우선 고려한다. 1. 데이터 통합- 데이터 통합은 일반화(Generalization)라고 부르기도 한다. - 데이터를 일반화하면 슈퍼타입(SuperTypes)과 서브타입(SubTypes)이 생긴다.- 공통된 속성이 존재하는 엔터티를 통합하여 슈퍼타입을 도출하는 것이 엔터티 통합이다.- 동질성을 가진 데이터를 합치는 것 (데이터의 성격을 규정할 수 있어야 동질한 데이터인지 판단 가능)- 정규화가 끝난 다음에 데이터 통합 과정을 거쳐야 한다.- 데이터 추출 시간을 줄이려고 비정규화로 엔터티를 합체하는 방법과는 다르다.- 1:1 관계의 테이블을 합치는 것과는 다르다.- 데이터를 ..
1. 문자열MySQL에서는 쌍따옴표를 사용해 문자열 표기할 수 있지만 홑따옴표 사용이 표준이다.SQL 표준에서는 문자열 값에 홑따옴표가 포함돼 있을 때 홑따옴표를 두 번 연속해서 입력하면 된다. SELECT * FROM tbl WHERE dept_no='d''001'; >> d'001 SELECT * FROM tbl WHERE dept_no='d"001'; >> d"0012. 숫자숫자는 홑따옴표 없이 값을 입력하면 된다. 문자열 형태로 숫자를 사용하더라도 비교 대상이 숫자 타입의 컬럼이면 MySQL 서버는 문자열 값을 숫자 값으로 자동 형변환 후 비교를 한다. 아래 쿼리문 중 (1) 쿼리문은 '10001' 문자열이 숫자형으로 형변환되기에 성능상 큰 문제가 없지만 (2) 쿼리..
테이블명 대소문자 구분윈도우에 설치된 MySQL 서버는 테이블명의 대소문자를 구분하지 않지만 유닉스 계열에 설치된 MySQL 서버는 테이블명의 대소문자를 구분한다.MySQL 서버가 운영체제와 관계없이 대소문자 영향을 받지 않게 하려면 MySQl 서버의 설정 파일(my.cnf)에 "lower_case_table_names=1" 내용을 추가한다. 그러면 모든 테이블명을 소문자로 저장한다. (유닉스 계열) 파일 my.cnf(윈도우) C:\Program Files\MySQL\MySQL Server ${version}\my.ini------------------------------------------------------...lower_case_table_names=1...--------------------..
