컴퓨터 과학 79

[2주차] 강의노트 DDL & DML

2022-03-05 프로그래머스 2주차 강의 0. 지난 과제 리뷰 - 표준 SQL 기능은 여러 프로그램에서 사용할 수 있다. - 내가 쓰는 기능이 표준인지 파악한다. - 고정길이 문자열(항상 n개 문자를 저장) / 가변길이 문자열의 차이() -> CHAR(n): 최대 255문자 / VARCHAR(n): 최대 65,535문자 -> 고정길이는 데이터를 읽어내는 게 빠르다. 단점: 디스크의 낭비? -> 가변길이는 디스크의 낭비가 적다. 단점: - NOT NULL -> 컬럼제약방식이 가장 적합 -> 그 외 -> ???방식 - Constraint는 수정이 안 된다. - 컬럼별칭은 표준 SQL에서는 '출력 용도'로만 사용한다.(SELECT, ORDER BY 절에 사용가능) -> MySQL에서는 GROUP BY절에서..

Chapter 04 DML : 단일테이블 검색문(Part 1)

- 관계 대수 연산자 1) 집합연산자 2) 순수관계 연산자: 셀렉트(WHERE), 프로젝트(SELECT), 조인 3) 확장된 관계 연산자: 외부조인 / 그룹연산/ 통계연산 / 작명연산 - SQL DML(Data Manipulation Language) 1) 검색: SELECT문 2) 갱신: INSERT문/ DELETE문/ UPDATE문 1. SELECT문 -> SELECT - (FROM) - WHERE 구조 -> SELECT절: 관계대수의 프로젝트 연산자 -> FROM절은 표준SQL, Oracle에서 생략불가 (MySQL, SQL server은 가능) (1) SELECT문 실행순서 FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY - SELECT문 종..

Chapter 03 스키마와 테이블 정의를 위한 명령문

1. SQL(Structured Query Language) - SQL표준의 역사 - 표준 -> 국가표준: 강제적 사용가능 -> 국제 표준: 사용 권고 (recommadation) -> 국제 표준이 국가 표준으로 채택되어야 강제적 적용이 가능 -> 제조사별로 SQL문 법의 차이는 적어지고 있으나 데이터 유형과 내장함수는 아직 차이가 많다. -> SQL표준의 100%를 지원하는 제품은 없다. (보통, 80~90%) - DBMS 응용 프로그램 개발 팁 -> 이식성이 보장된 응용프로그램 작성한다. -> 표준 기능과 특정 제품 고유의 기능(사용 자제)을 구별한다. - SQL 데이터 타입 1) 숫자형 2) 문자형: CHAR(n) - 고정 길이 문자형, VARCHAR(n) - 가변길이 문자열(varying char..

[1주차] 강의노트 RDB & ERD

2022-02-26 프로그래머스 1주차 강의 0. 지난 과제 리뷰(Ch 01 관계 대수) - 셀렉트를 먼저하고 JOIN을 나중에 해야 프로그램의 속도를 높여 최적화시킬 수 있다. - 무결성 제약 특징 중요하다. - 한 식에 조인의 개수가 적을 수록 좋다. - 같은 속성에 대한 조건이 두 개이면 한 번에 쓰는 게 아니라 두 식의 교집합으로 나타낼 수 있다. -> 왜냐하면 한 개의 투플에 속성의 값이 하나씩 있기 때문이다. - SQL은 접해본 적이 있어서 이해가 갔는데 관계대수식이라는 것은 처음 봤다. - 관계대수식를 바탕으로 SQL을 작성한다는 것을 알았다. - 기본키와 외래키에 대한 개념은 컴활을 공부해서 알고 있는 내용이라 어렵지 않았다. - 그런데 조인에 대한 내용에 대해서 프로젝트, 셀렉트, 조인을..

Chapter 03. 구조체 정의

3.1 구조제 정의 및 선언 Def) - 구조체: 사용자가 C언어의 기본 데이터 타입(Data Type)을 가지고 새롭게 정의할 수 있는 사용자 정의 타입을 의미. (데이터 타입 중 가장 큰 타입) - 데이터 타입(Data Type): int, char, float, double 처럼 변수를 선언할 때 정의해야 하는 자료형 - typedef: 구조체 이름이 길 때 짧게 재정의 할 수 있다. - 구조체의 멤버(member), 멤버 변수: 구조체를 구성하는 변수. Ex) #include #include struct Student { char Name[10]; int Age; double Height; }; int main() { int i, n; struct Student KimRan[10]; // 구조체 ..

Chapter 02. 포인터(Pointer)

2.1 포인터 Def) 포인터(Pointer) 포인터란 값을 저장하는 변수가 아니라 주소값을 저장하는 변수이다. 값은 저장할 수 없고 주소만 저장할 수 있다. Note) 새로운 자료형 " 포인터는 주소값을 지정하는 변수" (자료형) (변수명) = 값; - 기존 자료형 ( int/ char/ long long int/ float/ double/ ... ) -> int num = 정수값; - 포인터 자료형 ( int*/ char*/ long long int*/ float*/ double*/ ... ) -> int* pNum = 정수값이 저장된 주소값; - 역참조 연산자* (Asterisk): 피연산자로 주소값은 가지는 연산자. 해당 주소값에 있는 변수(or 값)을 반환한다. Ex) #include int m..

Chapter 01. 함수(Function)

1.1 지역변수(Local variable) - 함수 안에 정의 되어 그 함수 안에서만 참조 가능. - 프로그래밍 하면서 일반적으로 선언되는 변수. Ex) 지역변수 #include int main() { int a = 0 ; { int a = 10; printf("%d\n", a); } printf("%d\n", a); return 0; } 1.2 지역변수 초기화 - 지역 변수의 초기화는 랜덤값. #include int main() { int a; printf("%d\n", a ); return 0; } 1.3 const 변수(Const Variables) - 변수를 상수화 할 때 사용. - 함수 안에서만 정의되고 그 함수에서만 사용할 수 있음. #include int main() { const int ..

2022-01-26 구조체 할당

구조체 할당 BMI 학생 정보 /* 1�� #include struct Student { char mName[20]; char mPhoneNumber[20]; int mStudentNumber; void ShowInfo(void) { printf("name: %s\n", mName); printf("phone number: %s\n", mPhoneNumber); printf("student number: %d\n", mStudentNumber); } }; typedef struct Student Student_t; int main(void) { Student_t kimlan = {}; Student_t* pKimlan = &kimlan; printf("��� �л� �̸�: "); scanf("%s", ..