전체 글 (64) 썸네일형 리스트형 [데이터베이스] 제약 조건 (도메인 제약, 키 제약) 1. 제약 조건 1) 데이터 무결성을 지키기 위해 데이터베이스에 들어간 데이터에 제약 조건을 주는 것. 예를 들어 사용자가 잘못된 데이터를 입력했을 경우를 대비해 여러가지 제약 조건을 주어 잘못된 값은 들어오지 못하게 막아주는 것. 2) 도메인 제약, 기본 키 제약 등등이 있다. 2. 도메인 제약 1) 속성에 들어오는 값의 범위를 제한하는 것이다. 2) 가장 기본적인 형태의 제약 조건으로 속성의 자료형을 제한한다. 이름 char(20) → 이름 속성은 char 자료형으로 제한 3) 자료형만으로 제약이 어려울 경우 check라는 SQL문으로 조건문을 걸 수 있다. 성적 int check(성적 >= 0 and 성적 [데이터베이스] 개체 관계 모델(E-R model) 1. 개체 관계 모델 구성 요소 - 개체, 관계, 속성 2. 개체(entity) - 실제 세상에 존재하는 물리적 혹은 개념적 객체들 - 개체 집합 : 개체들을 모아 놓은 것 3. 속성(attribute) - 개체를 구성하거나 특징을 나타내는 요소들 - 개체는 속성의 집합으로 표현한다. - 도메인 : 속성이 가질 수 있는 값의 범위 - 관계형 데이터 베이스의 속성에 들어오는 값은 automic해야하므로 값이 하나이고 단순해야 한다. 4. 관계(relation) - 개체 사이의 연관성을 나타내는 요소들 - 사상 크기(Mapping Cardinality)가 존재한다. 5. 사상 크기(Mapping Cardinality) - 관계 집합의 좌, 우 양 쪽에 있는 개체 집합 사이의 정수 비율 - 1:1, 1:N, .. [데이터베이스] 데이터 모델링 과정 1. 데이터 모델링 데이터 구조를 결정하기 위한 방법론 2. 데이터 모델링 과정 현실 세계의 업무를 ER 모델링 → 개념화된 결과물인 ER diagram을 논리적 데이터 모델링 → 테이블 형태의 결과물인 데이터 모델을 물리적 데이터 모델링 → DBMS가 물리적 데이터 베이스 생성 3. 데이터 모델 종류 1) 계층 데이터 모델(hierarchical data model) - 데이터베이스를 트리(tree) 형태로 표현 - (장점) 1:n의 관계를 가지는 대용량 데이터 베이스 처리하므로 index를 만들 때 유용하다. - (단점) 데이터가 저장된 물리적 구조에 대한 지식을 가지고 있어야 하고, 모든 데이터가 1:n의 관계를 가지진 않으므로 유연성이 떨어진다. 2) 네트워크 데이터 모델(network data .. [자료구조] 시간복잡도, 빅오표기법 1. 알고리즘 복잡도 분석 (complexity analysis) (1) 알고리즘을 크게 2가지 측면에서 분석할 수 있다. - 시간 복잡도(time complexity) : 수행시간 분석 - 공간 복잡도(space complexity) : 기억공간 분석 (2) 대개 알고리즘의 복잡도를 분석한다는 것은 시간 복잡도를 의미한다. 시간 복잡도는 알고리즘의 절대적인 시간을 측정하는 것이 아니라 알고리즘의 연산이 몇 번 수행되는지를 숫자로 표시해 수행 횟수를 비교한다. 2. 시간 복잡도(time complexity) (1) 시간 복잡도 : 프로그램을 실행하여 완료하는데 필요한 컴퓨터 시간의 양 (2) T(P) : 컴파일 시간(complie time) + 실행 시간(run time) 컴파일(compile time).. [자료구조] 재귀(순환)함수 recursion - 하노이 탑 1. 재귀란? 함수가 자기 자신을 호출하여 문제를 해결하는 프로그래밍 기법이다. 재귀 참고 링크 : https://coding-ok.tistory.com/7?category=1011888 [자료구조] 재귀(순환)함수 recursion 1. 재귀(순환)이란? - 알고리즘이나 함수가 수행 도중 자기 자신을 호출하여 문제를 해결하는 기법이다. - 재귀 함수는 호출 직전의 매개 변수, local data, return address 등을 stack에 저장한다. - 재귀 coding-ok.tistory.com 2. 하노이 탑 하노이 탑은 크기가 다른 3개의 원판을 옮기는 문제이다. 원판이 n개 있다고 한다면 이를 재귀로 해결할 수 있다. 먼저 n개의 원판을 생각하지 말고 2개의 원판만 있다고 생각해보자. 2개의 .. [데이터베이스] 그룹화(group by, having) 1. group by - group by하여 그룹화한 각각의 집합을 하나의 집합으로 보고 해당 집합을 통계함수의 인수로 넘겨줄 수 있다. - select 열1, 열2 from 테이블명 group by 열1, 열2 -- 연봉 테이블에서 성별에 따른 연봉의 평균 구하기 select 성별, avg(연봉) as 성별연봉 from 연봉 group by 성별; 2. having - 통계 함수에서 그룹별 통계 조건 지정하기. -- 학생 테이블에서 학과번호별로 평균 이수학점이 50이상인 레코드 구하기 select 학과번호 from 학생 group by 학과번호 having avg(이수학점) >= 50; [데이터베이스] 통계함수(count, sum, avg, max, min) 1.count 함수 - 레코드 개수 구하기 - count 함수는 주어진 집합의 개수를 구하는 집계함수이기 때문에 모든 열 즉 테이블 전체를 검사하라는 의미에서 *를 쓸 수도 있다. -- 신청현황 테이블에서 전체 레코드 개수구하기 select count(*) as 신청건수 from 신청현황 2. sum 함수 - 집합의 합계 구하기 -- 신청현황에서 날짜가 2022.4.22인 레코들의 수량 속성의 값 모두 더하기 select sum(수량) as 전체수량 from 신청현황 where 날짜 = '2022.4.22'; 3. avg 함수 - 집합의 평균값 구하기 -- 주문내역 테이블에서 전체 가격의 평균구하기 select avg(가격) as 상품평균가격 from 주문내역 4. min, max 함수 - 집합에서 최솟.. [데이터베이스] 테이블 작성, 삭제, 변경(DDL, DML) 테이블이나 데이터베이스의 객체를 작성, 삭제, 변경 가능하다. 1. DDL (Data Definition Language) : 데이터 정의 언어 - create문 : 테이블 및 객체 새로 만들기 - drop문 : 테이블 및 객체 삭제하기 - alter문 : 테이블 및 객체 구조 바꾸기 2. DML (Data Manipulation Language) : 데이터 조작 언어 - insert 문 : 새로운 레코드 삽입하기 - delete문 : 레코드 삭제하기 - update문 : 레코드 내 특정값 변경하기 3. create문 - create 명령어로 테이블 스키마를 생성한다. - create table 테이블명 (속성이름1 자료형, 속성이름2 자료형..., 키 지정); create table 사람( 이름 var.. 이전 1 ··· 4 5 6 7 8 다음