블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
반응형

Category

Recent Post

Recent Comment

Archive

2009. 9. 23. 13:35 .Net Project/WindowServer2008
반응형

장바구니 테이블

 use Market
Create Table dbo.ShoppingCart
(
 RecordID Int Identity(1,1) Primary Key Not Null, --쇼핑카트 고유번
 CartID VarChar(100), --카트번호(고객구분번호) : 유일한 값(랜덤)
 --상품명, 가격, 마일리지 등....
 ProductID Int Not Null References Products(ProductID), --상품 고유번호
 Quantity Int Not Null, --수량
 DateCreated DateTime --카트 생성일 (주문날짜)
  Default(GetDate())
)
Go
--유일한 값을 만들어 내는 함수
--Select NEWID()

--[!] 예시 데이터 입력
--[A] 회원으로 로그인한 상태에서 3번 제품을 1개 장바구니 담기 :
   1번 회원이라면...

Insert Into ShoppingCart Values('1',3,1,GETDATE())
Go
--[B]비회원으로 2번 제품을 5개 장바구니 담기
Insert Into ShoppingCart Values('566C',2,5,GETDATE())
Go
Insert Into ShoppingCart Values('566CABVC',2,5,GETDATE())
Go
Insert Into ShoppingCart Values('566CDACF',2,5,GETDATE())
Go
--전체출력
Select *From ShoppingCart
Go

--특정 리스트 출력(1번고객이 2번 제품을 5개 구입 의미)
Declare @ShoppingCart Int
Set @ShoppingCart = 1
Select *From ShoppingCart Where RecordID = @ShoppingCart Order By RecordID Desc
Go

고객 테이블

 use Market
Create Table dbo.Customers
(
 CustomerID Int Identity(1,1) Not Null Primary Key, --고객 고유번호
 CustomerName VarChar(50), --고객명(회원/비회원)
 Phone1 VarChar(4), --전화번호1
 Phone2 VarChar(4), --전화번호2
 Phone3 VarChar(4), --전화번호3
 Mobile1 VarChar(10), --휴대폰1
 Mobile2 VarChar(10), --휴대폰2
 Mobile3 VarChar(10), --휴대폰3
 zip VarChar(7) Null, --우편번호
 [Address] VarChar(100) Null, --주소
 AddressDetail VarChar(100) Null, --주소상세
 Ssn1 Char(6) Null, --주민번호 앞자리
 Ssn2 Char(7) Null, --주민번호 뒷자리
 EmailAddress VarChar(50), --이메일
 MemberDivision Int --회원구분
)
Go
--예시 데이터 입력
Insert Into Customers Values (
  '김용원','032','123','1234','010','123','1234','404-215','경기도 광명시
   광명7동','1234번지','900214','1024010','fool8585@naver.com',1)

--전체출력
Select *From Customers
Go 


회원:회원 가입을 해야만 현재 테이블에 데이터 기록

 use Market
Create Table dbo.MemberShip
(
 CustomerID Int Primary Key, --고객코드(회원번호)
 UserID VarChar(25) Not Null, --아이디
 [Password] VarChar(100) Not Null, --비밀번호
 BirthYear VarChar(4) Not Null, --년
 BirthMonth VarChar(2)  Not Null, --월
 BirthDay VarChar(2)  Not Null,--일
 BirthStatus VarChar(2)  Not Null, --생일구분
 Gender Int Null, --성별
 Job VarChar(20) Null, --직업
 Wedding Int Null, --결혼여부
 Hobby VarChar(100) Null, --취미
 Homepage VarChar(100) Null, --홈페이지
 Intro VarChar(400) Null, --소개
 Mailing Int Null, --메일 수신 여부
 VisitCount Int Default 0, --방문 횟수
 LastVisit DateTime Default GetDate(), --마지막 방문 일수
 Mileage Int Null, --마일리지
 JoinDate DateTime Default GetDate() --가입일자
)
Go

use Market

Create Table dbo.zip
(
 ZipCode NVarChar(8) Not Null, --우편번호(429-325)
 Si NVarChar(150)Null, --시도(경기도)
 Gu NVarChar(150) Null, --구군(광명시)
 Dong NVarChar(255) Null, --동면(광명동)
 PostEtc NVarChar(255) Null --나머지(123번지)

)
Go
--[!!]예시문
Insert Into zip values ('423-017','경기도','광명시','광명7동','747-12')
Go
--전체출력
Select *From MemberShip --저장 프로시저 이용
Select *From zip order By ZipCode Asc

-- [!] Zip 테이블의 Dong필드에 클러스터드 인덱스 생성
Create Clustered Index idxZip On Zip(Dong)
Go

--우편번호 테이블에서 '동이름'으로 검색
Select *From zip Where Dong Like '%역삼%'
Go
Select *From zip Where Dong Like '역삼%'
Go
Select *From zip Where Dong Like '%역삼'
Go

--Index(인덱스)를 적용하여 쿼리 실행 능력 향상
--Select *From zip Where Dong Like '%역삼%'
--Go
--Select *From zip Where Dong Like '역삼%'
--Go

--[!]Zip 테이블의 Dong필드에 클러스트 인뎃스 생성
Create Clustered Index idxZip On Zip(Dong)
Go

--[!] 아래 2개의 쿼리문의 속도 비교
--Select *From Zip Where Dong Like '역삼%' 
--Go
--Select *From Zip Where Dong Like '역삼%' 
--Go








반응형
posted by Magic_kit