제약(Constraing) 조건
- 열이름, 타입, 길이, 제약조건
- 6가지
- 1개의 컬럼에 대한 제약 사항을 지정
- 데이터 입력이 잘못되엇을때를 방지하기 위한 무결성 지원 요소
1. Primary Key
2. Foreign Key
3. Unique
4. Check
5. Null : 행당 컬럼의 값이 null인지? 아닌지? 제약 , 해당 컬럼값을 기입을 반드시 해야하는지? 비워도 상관없는지?
- 해당 컬럼값을 기입을 반드시 해야하는지? 비워도 상관없는지?
- null : 써도0, 안써도 0
- not null : 반드시 써야함0, 비워두면 에러
- 필수입력 컬럼
6. Default
1. Null : 행당 컬럼의 값이 null인지? 아닌지? 제약 , 해당 컬럼값을 기입을 반드시 해야하는지? 비워도 상관없는지?
- 해당 컬럼값을 기입을 반드시 해야하는지? 비워도 상관없는지?
- null : 써도0, 안써도 0
- not null : 반드시 써야함0, 비워두면 에러
- 필수입력 컬럼
2. Primary Key : 기본키로 지정된 컬럼은 자동으로 not null이 된다. 기본키로 지정된 컬럼은 중복값을 허용 안한다. 기본키로 지정된 컬럼은 인덱스가 된다.
2.5. ID 컬럼
- 레코드간의 유일한 식별자 컬럼이 필요한 경우사용
- 예) 회원번호, 상품번호, 대여번호, 판매번호
- 정수값을 사용자가 입력하지 않더라도 자동으로 증가해서 기입 되는 컬럼
- 중수값, decimal만 사용 가능
- 초기값부터 시작해서 레코드가 삽입될때마다 증가값만큼 증가 시킴, 초기값(10), 증가값(5) : 10, 15, 20, 25, 30..
3. Unique
- PK와 유사함
- 중복값을 허용하지 않는 컬럼
- Null 허용
- 안써도 되만 만약 쓴다면 절대로 중복값을 사용할 수 없음
- Unique + Not Null = Primary Key
4. Default
- 해당 컬럼값을 사용자가 기입하지 않으면 미리 준비해놓은 기본 값을 대신 입력
- Null을 허용하는것보다 Default를 사용하는것을 권장 : 속도
- Default 선언한 컬럼은 Not Null로 선언
5. Check
- 원하는 조건을 만족하는 값만 기입할 수 있게 하는 제약
- 비교연산자, 논리연산자, 함수등을 사용해서 제약
디자인 화면에서 해당 컬럼 마우스 우클릭 CHECK 제약조건 클릭후 제약조건을 추가한다. EX)
SQL
- Structured Query Language
- 구조화된 질의 언어
- 누구한테 질문을 한다.!! : 데이터를 가지고 있는 SQL Server한테 우리가 원하는 데이터를 달라고(처리해달라고) 질문을 한다.
1. SSMS를 사용해서...(편집창, 쿼리창, 스크립트창 사용해서 질문을 하고 결과를 본다.)
2. C#에서 사용(C#프로그램이 SQL Server에게 SQL 명령 질의)
SQL의 종류
- ANSI - SQL, SQL-92 : 표준 SQL
- MS-SQL 2008 (프로그램명) TSQL(Transact SQL)이라는 문법을 사용한다 MS 버젼의 SQL 자기네만의 함수 자기네만의 기능을 더 +알파 오라클(PL/SQL) : 오라클사에서 만들어 놓은 추가된 기능
SQL 특징
- 텍스트 포맷(*.sql)
- 한번 작성해놓은 SQL 문장은 재사용이 가능하다.
- SQL문으로 디자이너에서 하는 모든 행동이 가능하다.
디비 서치 : 위에서 아래서 순차적으로 뒤진다. 컬럼중에 일부 컬럼(Primary Key)를 기준으로 데이타베이스에서 인덱스(책갈피 역활)를 만든다. Primary key 를 기준으로 데이터 베이스 검색 기준을 정한다. 순차적인 검색을 바로 원하는 정보로 검색 할수 있도록.
에러시 : 테이블을 다시 만들어야 하는변 경 내용 저장 사용 안한 체크 해제
사용중인 DB는 복사가 안된다.
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
이파일 경로를 그대로 복사하여 집에있는 같은 루트에 복사하여 붙여 넣으면 된다.
대신 sql 을 멈춰야 한다. 프로세스에서 죽이고 추가 및 복사 하도록하자.