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

:: 데이터베이스의 객체 ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 23:11
2,635
데이터베이스에 대해서는 참 배울게 많은것 같습니다. 이번장에서 배울 데이터베이스의 객체는 내용은 많지만 별로 부담없이 들어도 되는 것입니다. 왜냐하면 앞으로의 강좌들이 이들 객체들에 대한 설명이 될 것이기 때문입니다.

1. 데이터베이스 객체란?

데이터베이스에 저장되는 것들은 일반적으로 잘 아는 테이블 외에 기타 여러가지 것들이 저장됩니다. 이것을 데이터베이스 객체(Database Objects)라고 부릅니다. 물론 이러한 객체들이 데이터베이스를 사용 할 때 필수적이지는 않습니다. 하지만 이러한 객체들을 제대로 이용한다면 많은 편리함을 얻을 수 있습니다.

2. 데이터베이스 객체의 종류

정말 많은 객체들이 존재합니다. 아래에 나열된 객체들에 대해서는 나중에 자세하게 살펴볼 계획입니다. SQL Server에 대한 공부의 대부분이 아래 나열된 객체를 이해하는데 할애 된다고 봐도 과언이 아닙니다. 여기서는 이런것들이 있구나...라고한 이해하셔도 무방합니다.

1) Table

하나 또는 여러 컬럼(Column)들이 모여 하나의 레코드를 이룹니다. 이러한 레코드들이 모여 테이블이 됩니다. 예를 들어 [사원] 테이블은 사번, 이름, 부서 등 여러 컬럼을 갖게 되며 사원수 만큼의 레코드를 갖게 됩니다.

테이블은 시스템테이블과 사용자테이블로 구분 할 수 있습니다. 시스템테이블의 경우는 대부분 SQL Server가 내부적으로 관리를 목적으로 사용되어집니다. 물론 이들 시스템테이블을 참조하면 여러가지 정보를 얻을 수 있지만 시스템테이블을 직접 참조하는 것은 권장되지 않는 방법입니다. 대신 시스템 저장프로시져나 스키마뷰를 이용해서 이러한 정보를 참조할 수 있습니다. 이제 대해서는 나중에 자세히 살펴보도록 하겠습니다.

2) Index

쿼리문을 이용하여 정보를 검색할 때 빠른 수행을 위해서 인덱스를 구성합니다. 물론 빠른 검색 목적 이외에도 데이터의 무결성을 위해서도 사용됩니다. 인덱스에는 Clustered 인덱스와 Non-Clustered 인덱스가 있습니다. 너무나 중요한 개념이므로 나중에 많은 시간을 할애해서 설명할 예정입니다.

3) View

뷰는 실제로는 존재하지 않는 가상의 논리적인 테이블입니다. 실제 테이블을 기준으로 사용자 입장에서 논리적인 테이블을 만들어 쉽게 접근 할 수 있게 합니다. 뷰는 사용의 편리성과 보안성을 제공해 줍니다.

4) Stored Procedure

복잡한(단순해도 상관없습니다) 쿼리문을 저장해 두었다가 손쉽게 재사용 할 수 있는 저장 프로시져 입니다. 저장 프로시져가 만들어질때(CREATE PROCEDURE) 소스가 미리 컴파일되어 있고 수행 계획이 처음 수행될 때만 한번 만들어지고 이후에는 이러한 과정이 생략되므로 일반적인 쿼리수행에 비해 빠른 성능을 제공합니다.

5) Trigger

테이블의 값이 변경(INSERT, UPDATE, DELETE)될 때 자동적으로 수행되는 저장 프로시져의 하나입니다.

6) Data Type

SQL Server가 제공하는 기본적인 데이터 형식말고도 사용자가 임으로 정할 수 있는 데이터 형식을 가리킵니다. 예를 들어 사원번호를 선언하는데 있어 어느 개발자는 CHAR(05)로, 어느 개발자는 CHAR(10) 또는 VARCHAR(10)과 같이 서로 다르게 사용할 수 있는데, 이를 해결하기 위하여 SABUN_TYPE 이라는 데이터 형식을 만들어 CHAR(05)로 선언하면 개발자들은 사원번호의 데이터 형식을 SABUN_TYPE 이라고 지정해서 사용하면 됩니다.

7) Default

데이터가 입력될 때 값이 들어오지 않으면 자동으로 입력되도록 Default 를 지정할 수 있습니다. 만일 주소 칼럼에 데이터를 저장하는데 (unknown) 을 Deault로 하면주소가 입력되지 않으면 (unknown)이 자동으로 입력됩니다.

8) Rule

특정 칼럼에 대하여 저장될 수 있는 값을 지정할 때 사용됩니다.

9) Constraint

데이터의 무결성을 위해서 제약을 주는 것입니다. Primary Key, Foreign Key, Check 등이 있습니다.

10) User Defiend Function

사용자 정의 함수는 SQL Server 2000에서 새롭게 선보이는 기능입니다. 특정한 값은 물론 테이블까지 사용자 정의 함수의 결과값이 될 수 있어 매우 유용하게 사용됩니다.

3. 데이터베이스 객체 사용하기

데이터베이스 객체를 지정하기 위해서는 다음의 형식을 따라야 합니다.

서버명.데이터베이스명.소유자.객체명

예를 들어 NTSRV01.Northwind.dbo.Orders 와 같이 사용합니다. 객체명을 제외한 앞 세부분은 생락이 가능한데 이 경우 다음과 같은 의미를 갖게 됩니다.

o 서버명을 생략하면 현재 로그인한 SQL Server명이 기본값으로 사용됩니다.
o 데이터베이스명을 생략하면 현재 사용중인 데이터베이스를 기본값으로 사용됩니다.
o 소유자가 생락되면 현재 연결한 사용자 계정이 기본값으로 사용됩니다.

이런 이유로 실제 개발시 많은 부분이 생략되어 사용됩니다. 하지만 나중에 스크립트를 볼 때 쉽게 파악이 가능하도록 되도록이면 붙여주는데 좋다고 생각합니다. 가끔은 자기가 작성한 스크립트를 자신도 이해하지 못하는 경우가 발생합니다.


외국 회사로부터 컨설팅을 받는 가운데 그들이 작성한 소스를 보면 경악을 금치 못합니다. 소스 구석 구석의 너무 과하다고 생각될 정도의 커멘트 때문입니다. 본받을 만한 습관이라고 생각합니다

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

출처 : 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 3258
2712 [ MySQL ] MySQL 5 한글 UTF8 한글 깨짐 분석 (Windows 용) M 최고의하루 12.04 5731
2711 MySQL 명령어 정리 M 최고의하루 12.04 2389
2710 MSSQL 페이징 13 김영철 01.24 2488
2709 mssql 암호화 13 김영철 01.24 2487
2708 mysql과 mssql의 변환시 유의사항 13 김영철 01.24 2673
2707 mssql 백업방법 13 김영철 01.24 2774
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 2161
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 2351
열람중 :: 데이터베이스의 객체 :: 13 김영철 01.24 2636
2698 :: Transact-SQL 이란 :: 13 김영철 01.24 2887
2697 :: 단순 SELECT 문 :: 13 김영철 01.24 2369
2696 :: WHERE 절 :: 13 김영철 01.24 2804
2695 :: ORDER BY, GROUP BY :: 13 김영철 01.24 2480
2694 :: 조인(Join) 이란? :: 13 김영철 01.24 2183
2693 :: 조인(Join)의 사용 예 :: 13 김영철 01.24 2343
2692 :: SELECT INTO 와 INSERT INTO :: 13 김영철 01.24 2576
2691 :: 데이터베이스의 구조 :: 13 김영철 01.24 2307
2690 :: 데이터베이스 생성 :: 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 2785
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취