다음 카페에 자주 안들어가다보니 자료 이관합니다.
출처는 http://www.sqlworld.pe.kr 입니다.
지금까지는 개념을 이해하기 위한 이론에 치우친 강좌었습니다. 하지만 이제부터는 직접 무엇인가를 해보면서 결과를 볼 수 있는 강좌가 이루어지게 됩니다. 중간 중간에 기록된 [예제]를 꼭 실습해 가면서 모든 내용을 자신의 것으로 만들어 보시기 바랍니다. 그냥 눈으로 보면서 "아..그렇게 되겠구나" 라고 추측만하고 지나가시면 금방 잊어 버리게 됩니다. SQL Server를 처음으로 접하시는 분중에 실습을 할 환경이 갖추어지신 분들은 꼭 실습을 하시면서 공부를 하시기 바랍니다. 실제 업무를 대신 할 수 있는 것은 실습 뿐이기 때문입니다.
자, 실습할 준비가 되셨나요?
1. 데이터베이스 생성 원리
CREATE DATABASE 문을 이용하여 데이터베이스를 만들게 되면 SQL Server는 Model 데이터베이스를 복사함으로써 만들려고 하는 데이터베이스와 이와 관련된 메타데이터(데이터베이스에 대한 정보)를 초기화합니다. 이러한 Model 데이터베이스의 특성을 이용해서 특정한 테이블(Table), 뷰(View), 저장 프로시저(Stored Procedure), 데이터 형식(Data Type)등을 Model 데이터베이스에 미리 만들어 놓으면 새로 만들어지는 모든 데이터베이스에 이러한 객체들이 포함되게 할 수 있습니다.
[그림 1]
2. 데이터베이스 만들기
SQL Server에서 데이터베이스를 만드는 방법은 다음의 세가지가 있습니다.
o EM(Enterprise Manager) 사용
o 마법사 사용
o 쿼리문(CREATE DATABASE) 사용
우선 쿼리문을 이용해서 공부를 하시고 익숙해지면 EM을 사용하시기를 권합니다. 가끔은 EM을 사용할 수 없는 상황에서 작업을 해야하는 경우가 있기 때문입니다. 마법사(Wizard)의 경우는 아직 잘 모를 때 빨리 특정 작업을 수행하고자 하는 경우에(하지만 꼭 마법사를 이용해야 하는 경우도 있습니다.) 사용하시기를 권합니다.
1) EM(Enterprise Manager) 이용한 데이터베이스 생성
[그림 2] 처럼 해당 SQL Server에서 마우스 오른쪽 버튼을 눌러 [새로만들기(N)] 에서 [데이터베이스(D)...]을 선택하시면 [그림 3] 처럼 데이터베이스를 만드는 화면이 표시됩니다.
[그림 2]
[그림 3]
위 [그림 3]의 경우는 Sample 데이터베이스를 만드는 화면에서 3가지 탭의 화면을 한번에 보여주고 있습니다. 각 항목에 대한 자세한 설명은 쿼리문을 이용한 데이터베이스 생성방법에서 설명되어집니다.
2) CREATE DATABASE문을 이용한 데이터베이스 생성
드디어 처음으로 쿼리문을 배우게 되었습니다. CREATE DATABASE는 데이터베이스의 이름과 사이즈 및 파일을 지정하여 데이터베이스를 만드는 구문입니다. 자세한 문법을 알고자 한다면 Books Online을 참고해 주시기 바랍니다. 여기서는 예를 들어서 설명하도록 하겠습니다.
[예제1]
다음의 예제는 MyDB를 만드는 예입니다. 우선 다음 항목들을 이해하시고 예제를 보시기바랍니다.
o NAME : 내부적으로 사용될 데이터베이스 파일의 놀리적인 이름
o FILENAME : 데이터베이스 파일의 물리적인 위치와 파일명
o SIZE : 데이터베이스의 초기 사이즈
o MAXSIZE : 데이터베이스가 증가될 수 있는 최대 사이즈, 지정되지 않으면 하드디스크가 허용하는한 무작정 사이즈 증가.
o FILEGROWTH : 데이터베이스 공간이 부족할 떄 자동으로 증가하게되는 사이즈
USE master GO
CREATE DATABASE MyDB ON (NAME = MyDB_Data, FILENAME = 'D:\Data\MyDB.mdf', SIZE = 10MB, MAXSIZE = 40MB, FILEGROWTH = 5MB )
LOG ON (NAME = MyDB_Log, FILENAME = 'D:\Data\MyDB.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB)
GO |
[설명]
o 우선 D:\Data 폴더가 존재하고 있어야 합니다. 그렇지 않으면 오류가 발생합니다.
o 실제 OS상에서 데이터는 MyDB.mdf로 로그는 MyDB.ldf로 D:\Data 폴더에 저장합니다.
o Mydb.mdf와 MyDB.ldf는 SQL Server 내에서는 MyDB_Data와 MyDB_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터베이스의 사이즈는 10MB이며, 40MB까지 5MB씩 증가 할 수 있습니다.
o 로그의 경우는 처음 5MB 사이즈로 만들어지고 25MB까지 5MB씩 증가 할 수 있습니다.
o 위에서 제시한 MAXSIZE데 도달하면 더이상 데이터 기록이 불가능합니다. MAXSIZE를 지정하지 않으면 디스크가 허용하는 한 무작정 증가합니다.
데이터베이스 생성에 대한 예제를 두개 더 들어보고자 합니다. 앞에서의 예제와 비교해서 달라지는 부분을 자세히 살펴보시기 바랍니다.
[예제2]
USE master GO
CREATE DATABASE Products ON (NAME = Products_Data, FILENAME = 'D:\data\products.mdf', SIZE = 4MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) GO |
[설명]
o 실제 OS상에서 데이터는 products.mdf로 폴더에 저장합니다.
o 로그가 지정되지 않았으므로 자동으로 SQL Server는 D:\Data 폴더에 products_log.ldf 로그 파일을 만듭니다.
o products.mdf는 SQL Server 내에서는 products_Data로 관리되며 products_log.ldf는 products_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터의 사이즈는 4MB이며, 10MB까지 1MB씩 증가 할 수 있습니다.
o 로그는 지정되지 않았으므로 자동으로 처음 1MB정도(데이터베이스의 25%)사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.
[예제3]
USE master GO
CREATE DATABASE Products2
GO |
[설명]
o 폴더가 지정되지 않았으므로 SQL Server 가 설치될 때의 기본 Data 폴더에 만들어집니다.
o 실제 OS상에서 데이터는 자동으로 products2.mdf, products2_log.ldf라는 이름으로 기본 Data 폴더에 저장합니다.
o products2.mdf는 SQL Server 내에서는 products2로 관리되며 products2_log.ldf는 products2_Log라는 이름으로 관리됩니다.
o 데이터의 사이즈는 지정되지 않았으므로 Model 데이터베이스(768KB)의 사이즈와같습니다. 필요한 경우 디스크가 허락하는 한 10%씩 무작정 증가 하게됩니다.
o 로그의 사이즈는 지정되지 않았으므로 자동으로 0.5MB 사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.
※ SIZE 및 MAXSIZE의 기본 단위는 MB이므로 MB는 생략가능합니다. 하지만 KB를 사용할 경우 KB는 필히 지정해야 합니다. FILEGROWTH는 %를 표시하여 사용 할 수 있습니다. 하지만 기본 단위는 MB이므로 MB는 생락이 가능하지만 %로 지정하고자 하면 필히 %를 입력해야 합니다. FILEGROWTH는 하나의 Extent가 64KB이므로 최소한 64KB이상 지정되어야 합니다.
지금까지는 개념을 이해하기 위한 이론에 치우친 강좌었습니다. 하지만 이제부터는 직접 무엇인가를 해보면서 결과를 볼 수 있는 강좌가 이루어지게 됩니다. 중간 중간에 기록된 [예제]를 꼭 실습해 가면서 모든 내용을 자신의 것으로 만들어 보시기 바랍니다. 그냥 눈으로 보면서 "아..그렇게 되겠구나" 라고 추측만하고 지나가시면 금방 잊어 버리게 됩니다. SQL Server를 처음으로 접하시는 분중에 실습을 할 환경이 갖추어지신 분들은 꼭 실습을 하시면서 공부를 하시기 바랍니다. 실제 업무를 대신 할 수 있는 것은 실습 뿐이기 때문입니다.
자, 실습할 준비가 되셨나요?
1. 데이터베이스 생성 원리
CREATE DATABASE 문을 이용하여 데이터베이스를 만들게 되면 SQL Server는 Model 데이터베이스를 복사함으로써 만들려고 하는 데이터베이스와 이와 관련된 메타데이터(데이터베이스에 대한 정보)를 초기화합니다. 이러한 Model 데이터베이스의 특성을 이용해서 특정한 테이블(Table), 뷰(View), 저장 프로시저(Stored Procedure), 데이터 형식(Data Type)등을 Model 데이터베이스에 미리 만들어 놓으면 새로 만들어지는 모든 데이터베이스에 이러한 객체들이 포함되게 할 수 있습니다.
[그림 1]
2. 데이터베이스 만들기
SQL Server에서 데이터베이스를 만드는 방법은 다음의 세가지가 있습니다.
o EM(Enterprise Manager) 사용
o 마법사 사용
o 쿼리문(CREATE DATABASE) 사용
우선 쿼리문을 이용해서 공부를 하시고 익숙해지면 EM을 사용하시기를 권합니다. 가끔은 EM을 사용할 수 없는 상황에서 작업을 해야하는 경우가 있기 때문입니다. 마법사(Wizard)의 경우는 아직 잘 모를 때 빨리 특정 작업을 수행하고자 하는 경우에(하지만 꼭 마법사를 이용해야 하는 경우도 있습니다.) 사용하시기를 권합니다.
1) EM(Enterprise Manager) 이용한 데이터베이스 생성
[그림 2] 처럼 해당 SQL Server에서 마우스 오른쪽 버튼을 눌러 [새로만들기(N)] 에서 [데이터베이스(D)...]을 선택하시면 [그림 3] 처럼 데이터베이스를 만드는 화면이 표시됩니다.
[그림 2]
[그림 3]
위 [그림 3]의 경우는 Sample 데이터베이스를 만드는 화면에서 3가지 탭의 화면을 한번에 보여주고 있습니다. 각 항목에 대한 자세한 설명은 쿼리문을 이용한 데이터베이스 생성방법에서 설명되어집니다.
2) CREATE DATABASE문을 이용한 데이터베이스 생성
드디어 처음으로 쿼리문을 배우게 되었습니다. CREATE DATABASE는 데이터베이스의 이름과 사이즈 및 파일을 지정하여 데이터베이스를 만드는 구문입니다. 자세한 문법을 알고자 한다면 Books Online을 참고해 주시기 바랍니다. 여기서는 예를 들어서 설명하도록 하겠습니다.
[예제1]
다음의 예제는 MyDB를 만드는 예입니다. 우선 다음 항목들을 이해하시고 예제를 보시기바랍니다.
o NAME : 내부적으로 사용될 데이터베이스 파일의 놀리적인 이름
o FILENAME : 데이터베이스 파일의 물리적인 위치와 파일명
o SIZE : 데이터베이스의 초기 사이즈
o MAXSIZE : 데이터베이스가 증가될 수 있는 최대 사이즈, 지정되지 않으면 하드디스크가 허용하는한 무작정 사이즈 증가.
o FILEGROWTH : 데이터베이스 공간이 부족할 떄 자동으로 증가하게되는 사이즈
USE master GO
CREATE DATABASE MyDB ON (NAME = MyDB_Data, FILENAME = 'D:\Data\MyDB.mdf', SIZE = 10MB, MAXSIZE = 40MB, FILEGROWTH = 5MB )
LOG ON (NAME = MyDB_Log, FILENAME = 'D:\Data\MyDB.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB)
GO |
[설명]
o 우선 D:\Data 폴더가 존재하고 있어야 합니다. 그렇지 않으면 오류가 발생합니다.
o 실제 OS상에서 데이터는 MyDB.mdf로 로그는 MyDB.ldf로 D:\Data 폴더에 저장합니다.
o Mydb.mdf와 MyDB.ldf는 SQL Server 내에서는 MyDB_Data와 MyDB_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터베이스의 사이즈는 10MB이며, 40MB까지 5MB씩 증가 할 수 있습니다.
o 로그의 경우는 처음 5MB 사이즈로 만들어지고 25MB까지 5MB씩 증가 할 수 있습니다.
o 위에서 제시한 MAXSIZE데 도달하면 더이상 데이터 기록이 불가능합니다. MAXSIZE를 지정하지 않으면 디스크가 허용하는 한 무작정 증가합니다.
데이터베이스 생성에 대한 예제를 두개 더 들어보고자 합니다. 앞에서의 예제와 비교해서 달라지는 부분을 자세히 살펴보시기 바랍니다.
[예제2]
USE master GO
CREATE DATABASE Products ON (NAME = Products_Data, FILENAME = 'D:\data\products.mdf', SIZE = 4MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) GO |
[설명]
o 실제 OS상에서 데이터는 products.mdf로 폴더에 저장합니다.
o 로그가 지정되지 않았으므로 자동으로 SQL Server는 D:\Data 폴더에 products_log.ldf 로그 파일을 만듭니다.
o products.mdf는 SQL Server 내에서는 products_Data로 관리되며 products_log.ldf는 products_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터의 사이즈는 4MB이며, 10MB까지 1MB씩 증가 할 수 있습니다.
o 로그는 지정되지 않았으므로 자동으로 처음 1MB정도(데이터베이스의 25%)사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.
[예제3]
USE master GO
CREATE DATABASE Products2
GO |
[설명]
o 폴더가 지정되지 않았으므로 SQL Server 가 설치될 때의 기본 Data 폴더에 만들어집니다.
o 실제 OS상에서 데이터는 자동으로 products2.mdf, products2_log.ldf라는 이름으로 기본 Data 폴더에 저장합니다.
o products2.mdf는 SQL Server 내에서는 products2로 관리되며 products2_log.ldf는 products2_Log라는 이름으로 관리됩니다.
o 데이터의 사이즈는 지정되지 않았으므로 Model 데이터베이스(768KB)의 사이즈와같습니다. 필요한 경우 디스크가 허락하는 한 10%씩 무작정 증가 하게됩니다.
o 로그의 사이즈는 지정되지 않았으므로 자동으로 0.5MB 사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.
※ SIZE 및 MAXSIZE의 기본 단위는 MB이므로 MB는 생략가능합니다. 하지만 KB를 사용할 경우 KB는 필히 지정해야 합니다. FILEGROWTH는 %를 표시하여 사용 할 수 있습니다. 하지만 기본 단위는 MB이므로 MB는 생락이 가능하지만 %로 지정하고자 하면 필히 %를 입력해야 합니다. FILEGROWTH는 하나의 Extent가 64KB이므로 최소한 64KB이상 지정되어야 합니다.
지금까지는 개념을 이해하기 위한 이론에 치우친 강좌었습니다. 하지만 이제부터는 직접 무엇인가를 해보면서 결과를 볼 수 있는 강좌가 이루어지게 됩니다. 중간 중간에 기록된 [예제]를 꼭 실습해 가면서 모든 내용을 자신의 것으로 만들어 보시기 바랍니다. 그냥 눈으로 보면서 "아..그렇게 되겠구나" 라고 추측만하고 지나가시면 금방 잊어 버리게 됩니다. SQL Server를 처음으로 접하시는 분중에 실습을 할 환경이 갖추어지신 분들은 꼭 실습을 하시면서 공부를 하시기 바랍니다. 실제 업무를 대신 할 수 있는 것은 실습 뿐이기 때문입니다.
자, 실습할 준비가 되셨나요?
1. 데이터베이스 생성 원리
CREATE DATABASE 문을 이용하여 데이터베이스를 만들게 되면 SQL Server는 Model 데이터베이스를 복사함으로써 만들려고 하는 데이터베이스와 이와 관련된 메타데이터(데이터베이스에 대한 정보)를 초기화합니다. 이러한 Model 데이터베이스의 특성을 이용해서 특정한 테이블(Table), 뷰(View), 저장 프로시저(Stored Procedure), 데이터 형식(Data Type)등을 Model 데이터베이스에 미리 만들어 놓으면 새로 만들어지는 모든 데이터베이스에 이러한 객체들이 포함되게 할 수 있습니다.
[그림 1]
2. 데이터베이스 만들기
SQL Server에서 데이터베이스를 만드는 방법은 다음의 세가지가 있습니다.
o EM(Enterprise Manager) 사용
o 마법사 사용
o 쿼리문(CREATE DATABASE) 사용
우선 쿼리문을 이용해서 공부를 하시고 익숙해지면 EM을 사용하시기를 권합니다. 가끔은 EM을 사용할 수 없는 상황에서 작업을 해야하는 경우가 있기 때문입니다. 마법사(Wizard)의 경우는 아직 잘 모를 때 빨리 특정 작업을 수행하고자 하는 경우에(하지만 꼭 마법사를 이용해야 하는 경우도 있습니다.) 사용하시기를 권합니다.
1) EM(Enterprise Manager) 이용한 데이터베이스 생성
[그림 2] 처럼 해당 SQL Server에서 마우스 오른쪽 버튼을 눌러 [새로만들기(N)] 에서 [데이터베이스(D)...]을 선택하시면 [그림 3] 처럼 데이터베이스를 만드는 화면이 표시됩니다.
[그림 2]
[그림 3]
위 [그림 3]의 경우는 Sample 데이터베이스를 만드는 화면에서 3가지 탭의 화면을 한번에 보여주고 있습니다. 각 항목에 대한 자세한 설명은 쿼리문을 이용한 데이터베이스 생성방법에서 설명되어집니다.
2) CREATE DATABASE문을 이용한 데이터베이스 생성
드디어 처음으로 쿼리문을 배우게 되었습니다. CREATE DATABASE는 데이터베이스의 이름과 사이즈 및 파일을 지정하여 데이터베이스를 만드는 구문입니다. 자세한 문법을 알고자 한다면 Books Online을 참고해 주시기 바랍니다. 여기서는 예를 들어서 설명하도록 하겠습니다.
[예제1]
다음의 예제는 MyDB를 만드는 예입니다. 우선 다음 항목들을 이해하시고 예제를 보시기바랍니다.
o NAME : 내부적으로 사용될 데이터베이스 파일의 놀리적인 이름
o FILENAME : 데이터베이스 파일의 물리적인 위치와 파일명
o SIZE : 데이터베이스의 초기 사이즈
o MAXSIZE : 데이터베이스가 증가될 수 있는 최대 사이즈, 지정되지 않으면 하드디스크가 허용하는한 무작정 사이즈 증가.
o FILEGROWTH : 데이터베이스 공간이 부족할 떄 자동으로 증가하게되는 사이즈
USE master GO
CREATE DATABASE MyDB ON (NAME = MyDB_Data, FILENAME = 'D:\Data\MyDB.mdf', SIZE = 10MB, MAXSIZE = 40MB, FILEGROWTH = 5MB )
LOG ON (NAME = MyDB_Log, FILENAME = 'D:\Data\MyDB.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB)
GO |
[설명]
o 우선 D:\Data 폴더가 존재하고 있어야 합니다. 그렇지 않으면 오류가 발생합니다.
o 실제 OS상에서 데이터는 MyDB.mdf로 로그는 MyDB.ldf로 D:\Data 폴더에 저장합니다.
o Mydb.mdf와 MyDB.ldf는 SQL Server 내에서는 MyDB_Data와 MyDB_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터베이스의 사이즈는 10MB이며, 40MB까지 5MB씩 증가 할 수 있습니다.
o 로그의 경우는 처음 5MB 사이즈로 만들어지고 25MB까지 5MB씩 증가 할 수 있습니다.
o 위에서 제시한 MAXSIZE데 도달하면 더이상 데이터 기록이 불가능합니다. MAXSIZE를 지정하지 않으면 디스크가 허용하는 한 무작정 증가합니다.
데이터베이스 생성에 대한 예제를 두개 더 들어보고자 합니다. 앞에서의 예제와 비교해서 달라지는 부분을 자세히 살펴보시기 바랍니다.
[예제2]
USE master GO
CREATE DATABASE Products ON (NAME = Products_Data, FILENAME = 'D:\data\products.mdf', SIZE = 4MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) GO |
[설명]
o 실제 OS상에서 데이터는 products.mdf로 폴더에 저장합니다.
o 로그가 지정되지 않았으므로 자동으로 SQL Server는 D:\Data 폴더에 products_log.ldf 로그 파일을 만듭니다.
o products.mdf는 SQL Server 내에서는 products_Data로 관리되며 products_log.ldf는 products_Log라는 이름으로 관리됩니다.
o 만들어지는 데이터의 사이즈는 4MB이며, 10MB까지 1MB씩 증가 할 수 있습니다.
o 로그는 지정되지 않았으므로 자동으로 처음 1MB정도(데이터베이스의 25%)사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.
[예제3]
USE master GO
CREATE DATABASE Products2
GO |
[설명]
o 폴더가 지정되지 않았으므로 SQL Server 가 설치될 때의 기본 Data 폴더에 만들어집니다.
o 실제 OS상에서 데이터는 자동으로 products2.mdf, products2_log.ldf라는 이름으로 기본 Data 폴더에 저장합니다.
o products2.mdf는 SQL Server 내에서는 products2로 관리되며 products2_log.ldf는 products2_Log라는 이름으로 관리됩니다.
o 데이터의 사이즈는 지정되지 않았으므로 Model 데이터베이스(768KB)의 사이즈와같습니다. 필요한 경우 디스크가 허락하는 한 10%씩 무작정 증가 하게됩니다.
o 로그의 사이즈는 지정되지 않았으므로 자동으로 0.5MB 사이즈로 만들어지고 필요한 경우 하드디스크가 허용하는한 10% 씩 증가하게 됩니다.
※ SIZE 및 MAXSIZE의 기본 단위는 MB이므로 MB는 생략가능합니다. 하지만 KB를 사용할 경우 KB는 필히 지정해야 합니다. FILEGROWTH는 %를 표시하여 사용 할 수 있습니다. 하지만 기본 단위는 MB이므로 MB는 생락이 가능하지만 %로 지정하고자 하면 필히 %를 입력해야 합니다. FILEGROWTH는 하나의 Extent가 64KB이므로 최소한 64KB이상 지정되어야 합니다.