본문 바로가기

Study

(47)
[데이터베이스] #4 정규화 잘못된 데이터베이스 모델링 1. 데이터의 중복 일관성 유지의 어려움 저장 공간 낭비 2. 갱신이상 삽입이상, 삭제이상, 수정이상 좋은 릴레이션의 개념 1. 컴퓨터 프로그래머적 관점에서의 모델링 2. 릴레이션의 스키마를 얼마나 효율적으로 반영하고 있는가 3. 고려사항 한 릴레이션 내의 컬럼 간의 관계 분석 원하지 않는 데이터의 종속과 중복 제거 새로운 컬럼들이 데이터베이스에 추가될 때, 기존 컬럼과의 관계 수정을 최소화 함수적 종속성 1. 함수적 종속성의 정의 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현한 것 릴레이션의 효율성을 향상시켜 좋은 릴레이션으로 변환하는데 이용되는 중요한 개념 {A} → {B} : 결정자 → 종속자 서로 다른 두 개의 레코드에 대해서 컬럼 값이 같으면 다른 컬럼 값..
[데이터베이스] #3 SQL SAFE UPDATES 모드 일종의 안전장치 update문과 delete문에 한해서 실행 의도하지 않은 데이터 변경/삭제 방지를 위해 MySQL은 SAFE UPDATES 모드를 지원 기본키가 아닌 컬럼을 대상으로 수정/삭제 조건을 명시할 경우 실행 여부를 결정 SET SQL_SAFE_UPDATES = 0 또는 1 중첩 질의 1. FROM절에서 중첩 질의 활용 SELECT MAX(A.평균연봉) AS 평균연봉 FROM (SELECT 소속학과, AVG(연봉) as 평균연봉 FROM 교수 GROUP BY 소속학과)AS A WHERE A.평균연봉 < 700000000 2.WHERE 절에서 중첩 질의 활용 select a.학생번호 from 전공 as a where a.학과이름 = '생활과학과' and not exi..
[C프로그래밍] #7 포인터 포인터에 대한 개념 pointer, 변수의 일종 변수 : 특정 데이터 값을 가지고 있음 포인터 : 특정 데이터가 저장된 기억장소의 주소(번지)값을 가지고 있음 따라서 포인터는 기억공간을 변수명으로 접근하지 않고 주소로 접근하기 위해 사용 포인터변수의 선언과 참조 포인터 변수의 선언 변수 p는 포인터 변수로서 정수형의 자료를 갖는 변수의 주소를 갖는다 p : 포인터 변수로서 정수형 자료가 수록되어 있는 주소를 갖고 있다 *p : 해당 주소에 수록되어 있는 정수형 자료를 갖고 있다 int *p; // 자료형 *포인터변수명; int a, b; int *p; a = 5000; p=&a; // p=a의 주소, a의 공간. 포인터 변수 p에 변수 a의 주소 값을 대입 b=*p; // b에게 p의 내용을 옮겨라. 포..
[C프로그래밍] #6 배열 배열의 정의 동일한 자료형을 갖는 자료형의 리스트 배열의 각 요소는 하나의 변수로 취급 배열은 배열명과 첨자로 구분 배열의 선언 형태 1. 1차원 배열 배열의 첨자가 하나만 있는 배열 첨자의 개수는 배열 전체의 구성요소의 개수를 의미 배열의 각 요소는 배열명과 첨자로 구분 1차원 배열 선언 형태 int a[10] // 자료형 배열명[개수] 초기화 방법 /*일일이 선언*/ int array[4]; // 배열 선언 array[0] = 10; array[1] = 20; array[2] = 30; array[3] = 40; /*배열선언과 동시에 초기값 할당*/ int array[4] = {10, 20, 30, 40}; // 각 요소에 초기값 할당 int array[ ] = {10, 20, 30, 40}; // ..