728x90
📕 2과목 - SQL 기본 및 활용
📌 1장 - SQL 기본
📍 SQL 문장 ( DDL, DML, DCL, TCL )
- 데이터베이스를 정의하고 접근하기 위해서는 --> 데이터베이스 관리 시스템과의 통신수단이 필요.
- 이때, 이 통신수단이 ❗❗ 데이터 언어
- 이 데이터 언어를 기능과 사용 목적에 따라 구분한 것
- DDL, DML, DCL TCL
- As-Is : 비절차적 데이터 조작어(DML)는 사용자가 무슨(What) 데이터를 원하는 지만을 명세.
- To-Be : 비절차적 데이터 조작어(DML)는 사용자가 무슨(What) 데이터를 원하는 지만을 명세하지만,
- 절차적 데이터 조작어는 어떻게 (How) 데이터를 접근해야 하는 지 명세함.
- 절차적 데이터 조작어? --> PL/SQL(오라클), T-SQL(SQL Server) 등.
- DDL --> 스키마, 도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 제거할 때 사용됨.
- 호스트 프로그램 속에 삽입되어 사용되는 DML 명령어들을 데이터 부속어(Data Sub Language) 라고 함.

📍 ORACLE 과 SQL Server 차이점?

- ORACLE
- Alter Table 기관분류 Alter Column(분류명 Varchar(30) Not Null, 등록일자 Date Not Null);
- SQL Server
- Alter Table 기관분류 Alter Column 분류명 Varchar(30) Not Null;
- Alter Table 기관분류 Alter Column 등록일자 Date Not Null;
- SQL Server 는 여러개의 컬럼을 동시에 수정 불가. ❗❗ 한 개씩 해야함. ➕ ❗❗ 괄호 사용 안함.
📍 NULL ?
- 아직 정의되지 않은 미지의 값.
- 현재 데이터를 입력하지 못하는 경우
- 모르는 값
- 값의 부재
- null 과의 모든 비교(is null은 제외)는 알 수 없음(Unknown)을 반환.
- ❗❗ 공백문자 혹은 숫자 0 과는 완전히 다른 것.
📍 테이블 생성시 칼럼별 생성할 수 있는 제약조건 ?
- UNIQUE
- 테이블 내에서 중복되는 값이 없다. ➕ NULL 입력 가능.
- PK
- UNIQUE ➕ NOT NULL.
- 주키로 테이블 당 1개만 생성 가능.
- FK
- 외래키로 테이블당 여러 개 생성 가능.
- NOT NULL
- 명시적으로 NULL 입력을 방지함.
📍 테이블 생성의 주의사항 ?
- 테이블명은 객체를 의미할 수 있는 적절한 이름을 사용.
- 가능한 단수형을 권고함.
- 테이블 명은 다른 테이블의 이름과 중복 되면 안 됨.
- 한 테이블 내에서는 칼럼명이 중복되게 들어갈 수 없음.
- 테이블 이름을 지정하고, 각 칼럼들은 괄호() 로 묶어서 지정함.
- 각 칼럼들은 "콤마" 로 구분됨. 테이블 생성문의 끝은 항상 "세미콜론"
- 데이터 표준화의 관점에서 칼럼에 대해서는 다른 테이블까지 고려하여 데이터베이스 내에서는 일관성 있게 사용하는 것이 좋다.
- 칼럼 뒤에 데이터 유형은 꼭 지정되어야 함.
- 테이블명과 칼럼명은 반드시 문자로 시작. 벤더별로 길이에 대한 한계가 있음.
- 벤더에서 사전에 정의한 예약어는 쓸 수 없음.
- A-Z, a-z, 0-9, _, $, # 문자만 허용.
📍 참조무결성 Delete 및 Modify, Insert 의 Action ?

📍 테이블 이름 바꾸는 SQL문 ?
- Rename 기존테이블명 To 새로운테이블명;
📍 Insert 문 ?
- insert into 테이블명 values('현아', '27', '여자', '신입사원');
- insert into 테이블명(이름, 나이, 성별) values('현아', '27', '여자');
📍 Update 문 ?
- update 테이블명 set 나이 = '26';
📍 ?
- ㅇㅇ
728x90
'나를 기록하기 > [자격증] SQLD' 카테고리의 다른 글
[SQLD] 2과목 2장 - SQL 활용(Q.65~91) (0) | 2022.05.22 |
---|---|
[SQLD] 2과목 1장 - SQL 기본(Q.52~63) (0) | 2022.05.21 |
[SQLD] 2과목 1장 - SQL 기본(Q.36~51) (0) | 2022.05.21 |
[SQLD] 2과목 1장 - SQL 기본(Q.22~35) (0) | 2022.05.17 |
[SQLD ] 1과목 1장 - 데이터 모델링의 이해 (0) | 2022.03.26 |