강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

:: 데이터베이스 생성 ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 23:07
2,112

지금까지는 개념을 이해하기 위한 이론에 치우친 강좌었습니다. 하지만 이제부터는 직접 무엇인가를 해보면서 결과를 볼 수 있는 강좌가 이루어지게 됩니다. 중간 중간에 기록된 [예제]를 꼭 실습해 가면서 모든 내용을 자신의 것으로 만들어 보시기 바랍니다. 그냥 눈으로 보면서 "아..그렇게 되겠구나" 라고 추측만하고 지나가시면 금방 잊어 버리게 됩니다. SQL Server를 처음으로 접하시는 분중에 실습을 할 환경이 갖추어지신 분들은 꼭 실습을 하시면서 공부를 하시기 바랍니다. 실제 업무를 대신 할 수 있는 것은 실습 뿐이기 때문입니다.

자, 실습할 준비가 되셨나요?

1. 데이터베이스 생성 원리

CREATE DATABASE 문을 이용하여 데이터베이스를 만들게 되면 SQL Server는 Model 데이터베이스를 복사함으로써 만들려고 하는 데이터베이스와 이와 관련된 메타데이터(데이터베이스에 대한 정보)를 초기화합니다. 이러한 Model 데이터베이스의 특성을 이용해서 특정한 테이블(Table), 뷰(View), 저장 프로시저(Stored Procedure), 데이터 형식(Data Type)등을 Model 데이터베이스에 미리 만들어 놓으면 새로 만들어지는 모든 데이터베이스에 이러한 객체들이 포함되게 할 수 있습니다.

mcp7_001.gif
[그림 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] 처럼 데이터베이스를 만드는 화면이 표시됩니다.

mcp7_002.jpg
[그림 2]

mcp7_003.jpg
[그림 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이상 지정되어야 합니다.

----------------------------------------------------------------------------------------

출처 : http://www.sqlworld.pe.kr 

 
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2715 MySQL 에서 사용되는 sql문 정리 M 최고의하루 12.19 2743
2714 [ MySQL ] MySQL 기본적으로 익혀야할 과제 M 최고의하루 12.18 2501
2713 [ MySQL ] MySql4.x / PHP4.x / Apache 한글깨짐 M 최고의하루 12.18 3257
2712 [ MySQL ] MySQL 5 한글 UTF8 한글 깨짐 분석 (Windows 용) M 최고의하루 12.04 5731
2711 MySQL 명령어 정리 M 최고의하루 12.04 2388
2710 MSSQL 페이징 13 김영철 01.24 2487
2709 mssql 암호화 13 김영철 01.24 2487
2708 mysql과 mssql의 변환시 유의사항 13 김영철 01.24 2673
2707 mssql 백업방법 13 김영철 01.24 2773
2706 데이터 정보 확인방법 13 김영철 01.24 2355
2705 MS-SQL JDBC "ResultSet Can Not Re-Read Row Data" 예외 처리 방법 13 김영철 01.24 3284
2704 IDENTITY 속성 13 김영철 01.24 2160
2703 Jsp + Mssql Long타입 데이타 사용시 문제점 13 김영철 01.24 2764
2702 PWDENCRYPT와 PWDCOMPARE를 통해 암호화 기능 13 김영철 01.24 3471
2701 MSSQL 기본값 13 김영철 01.24 3037
2700 :: 데이터베이스의 종류 :: 13 김영철 01.24 2350
2699 :: 데이터베이스의 객체 :: 13 김영철 01.24 2635
2698 :: Transact-SQL 이란 :: 13 김영철 01.24 2886
2697 :: 단순 SELECT 문 :: 13 김영철 01.24 2368
2696 :: WHERE 절 :: 13 김영철 01.24 2803
2695 :: ORDER BY, GROUP BY :: 13 김영철 01.24 2479
2694 :: 조인(Join) 이란? :: 13 김영철 01.24 2182
2693 :: 조인(Join)의 사용 예 :: 13 김영철 01.24 2343
2692 :: SELECT INTO 와 INSERT INTO :: 13 김영철 01.24 2576
2691 :: 데이터베이스의 구조 :: 13 김영철 01.24 2307
열람중 :: 데이터베이스 생성 :: 13 김영철 01.24 2113
2689 :: 데이터 무결성 :: [출처] :: 데이터 무결성 :: (쇼핑몰 대박못내는 진짜이유!) |작성자 프런티어 13 김영철 01.24 3177
2688 :: 인덱스(Index) :: 13 김영철 01.24 2091
2687 :: 뷰(View) :: 13 김영철 01.24 2817
2686 :: 저장프로시저 (Stored Procedure) :: 13 김영철 01.24 2784
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취