드로우홀릭 더베이직

이 글은 Microsoft Access팀의 영문 블로그를 번역한 글입니다.

원문 링크: http://blogs.office.com/b/microsoft-access/archive/2012/08/08/access-2013-and-sql-server.aspx


작성자: Russell Sinclair, 액세스 팀 프로그램 관리자

액세스 2013의 웹 앱은 SQL 서버 혹은 SQL 에저(Azure)와 긴밀하게 통합되어 있습니다. 웹 앱을 쉐어포인트(SharePoint)에 만들 때 액세스 2010의 경우 테이블은 해당 쉐어포인트 사이트에 목록으로 저장되었습니다. 액세스 2013에서는 액세스 서비스가 SQL 서버 또는 SQL 에저에 데이터베이스를 생성합니다.(Access의 모든 개체를 SQL서버 또는 SQL 에저에 모두 보관합니다. ) 이러한 새로운 구조가 성능과 확장성을 증대시켰습니다. 또한, SQL 개발자들이 액세스 앱의 데이터로 작업 또는 확장 할 수 있는 기회를 제공했습니다. 

작동원리

액세스2013으로 새 웹 앱을 생성 할 때 사용자는 앱을 설치될 쉐어포인트 사이트를 선택 할 것입니다. 다른 쉐어포인트 앱처럼 사용자가 선택한 사이트에서 연결, 관리, 앱 삭제가 이루어 질 수 있습니다. 쉐어포인트에서 앱을 만드는 도중에 앱이 필요로 하는 개체와 데이터가 저장 될 수 있는 SQL 서버 데이터베이스를 제공합니다. 테이블과 쿼리, 매크로, 폼은 모두 이 데이터베이스에 저장됩니다. 누구든지 앱에 접속하여 데이터를 입력하거나, 디자인을 수정할 때 마다 이 데이터베이스와 내부적으로(사용자가 보는 화면 뒤에서) 상호작용을 하게 됩니다. 오피스(Office) 365에서 앱을 생성하는 경우 데이터베이스는 SQL 에저에 생성됩니다. 자체 구축한 쉐어포인트 서버에 앱을 생성하는 경우 액세스는 SQL 서버 2012에 데이터베이스를 생성합니다. 어느 경우에나 생성된 데이터베이스는 생성한 앱에 특정되며 다른 앱과 공유되지 않습니다.
(역자 주: 액세스 2010의 웹 앱은 쉐어포인트 목록으로 만들어집니다. 반면, 액세스 2013의 웹 앱은 SQL Server의 실제 테이블로 만들어집니다. 액세스 2010의 경우, 쉐어포인트를 한 번 거치기 때문에 액세스 2013에 비해 다소 느릴 수 있습니다. 반면, 액세스 2013은 바로 SQL Server 테이블에 액세스 하기 때문에 보다 성능이 좋습니다.)

앱을 생성 할 때 사용자들이 원하는 기능을 제공하는 테이블, 쿼리, 뷰, 매크로 등을 추가 할 수 있습니다. 아래 내용은 이 개체들을 생성 할 때 데이터베이스가 어떻게 동작하는지를 설명합니다.

테이블(tables)

액세스 앱에 테이블을 추가하면, SQL 서버 테이블이 데이터베이스에 생성됩니다. 이 테이블은 액세스에서 설정한 이름과 동일한 이름을 가집니다. 이는 클라이언트에서 생성한 필드 역시 동일합니다. SQL 서버에서 사용되는 데이터 타입은 사용자가 설정한 유형에 맞게 설정합니다. (텍스트 필드는 nvarchar를, 숫자 필드는 decimal, int, 혹은 float를, 이미지파일은 varbinary(max))


Access에서 생성한 테이블 구조:
1.jpg  


SQL 서버에 생성된 테이블 구조:
2.jpg  

쿼리(Queries)

앱에 쿼리를 추가하면 액세스는 SQL 서버 뷰(View) -만약 쿼리에 매개변수가 존재한다면 테이블 반환 함수(Table-Valued Function) - 를 생성합니다. 이 뷰나 테이블 반환 함수의 이름은 액세스에서 생성한 이름을 사용하게 됩니다. T-SQL문을 생성할 경우 SQL문법을 사용합니다. (SQL 서버에서 SQL문의 정의를 볼 때 이해하기 쉽습니다.)

아래 그림은 Access에서 생성한 쿼리 디자인입니다.
3.jpg  
위 그림은 다음 구문 형식으로 SQL 서버에 저장됩니다.

CREATE VIEW [Access].[쿼리1]
AS
SELECT
 
       
[테이블1].[ID],
        [테이블1].[문자필드],
        [테이블1].[날짜필드]
FROM 
       
[Access].[테이블1]
WHERE
        [테이블1].[날짜필드] < DATEFROMPARTS(2013, 1, 1)

데이터 매크로(Data Macros)

데이터 매크로는 이벤트 매크로와 독립형 매크로의 두 가지 형태를 지니고 있습니다.

이벤트 데이터 매크로는 ‘디자인보기’로 테이블을 연 상태에서 <디자인> 리본의 <이벤트> 안의 이벤트 버튼(삽입 시, 업데이트 시, 삭제 시)을 눌러서 생성 할 수 있습니다.

4.jpg  

이벤트 데이터 매크로는 SQL 서버상의 테이블의 AFTER 트리거(Trigger) 같은 기능으로 구현되어 있습니다.
독립형 매크로는 <홈> 리본의 <만들기> 의 <고급> 아이콘을 확장하여 <데이터 매크로>버튼을 클릭하여 생성 할 수 있습니다.
 5.jpg

뷰(Views)

액세스2013의 뷰는 데이터를 브라우저에 표현하는 앱의 한 부분입니다. (방식중에 하나 입니다.) — 데이터베이스 전문가는 폼으로 뷰를 호출 할 수 있을 것입니다. 뷰는 SQL개체라기보다는 HTML과 JavaScript이기 때문에 액세스 시스템 테이블에 텍스트 형태로 저장됩니다.

SQL 서버 스키마(Schemas)

액세스는 다음의 세 가지의 분리된 SQL 서버 스키마를 활용합니다: 액세스, 액세스 시스템 , 액세스 런타임


액세스 시스템 스키마는 시스템 테이블이 포함되어 있습니다. 이 시스템 테이블은 각 개체의 정의들을 액세스 서비스가 인식 할 수 있는 형식으로 저장하고 있어 앱을 사용하는 도중이나 디자인 중에 액세스를 잘 동작하도록 합니다.


액세스 스키마는 사용자가 생성한 테이블, 쿼리, 매크로 등이 포함되어 있습니다. 이 스키마의 모든 것들은 사용자가 SQL 서버에서 디자인한 개체들 입니다.


액세스 런타임 스키마는 앱의 런타임 동작을 최적화하기 위해 액세스 서비스에서 사용하는 여러 항목들을 포함하고 있습니다. 

중요한 점

앞서 설명한 세부적인 사항들이 중요한 이유가 있습니다. 일부 사용자의 경우 눈에 보이는 새로운 SQL 서버 백엔드의 효과는 단순히 속도와 안정성의 증가입니다. 이 사용자들은 기술적인 세부 사항에 대해 신경 쓸 필요가 없습니다. 하지만 고급 사용자들의 경우 Access 앱을 통하지 않고 앱의 데이터를 보관하는 SQL 서버 또는 SQL 에저 데이터베이스에 연결할 수 있습니다. 이는 심도있는(진보된) 통합과 확장을 가능하게 하는 새로운 가능성을 열어줍니다. 이것은 정말 중요한 점 입니다.

외부 연결을 허용하려면, 메뉴의 <파일>을 클릭합니다. ‘연결’ 섹션에서 데이터베이스에 연결하는 데 사용할 수 있는 SQL 서버 로그인 자격 증명을 찾을 수 있습니다. (SQL 서버 Management Studio, ASP.NET 또는 SQL 서버를 지원하는 다른 응용 프로그램에서 데이터베이스에 연결하는 데 사용할 수 있습니다.)
 
위 그림의 ‘연결’ 섹션의 ‘관리’ 버튼은 SQL 서버 데이터베이스에 대한 연결을 관리 할 수 있는 여러 유형의 명령을 관리합니다. 읽기 전용 로그인 이나 읽기 - 쓰기 로그인을 생성 할 수 있습니다.
데이터를 수정할 필요가 없는 프로그램이나 앱에서 SQL 서버 데이터베이스에 연결하려고 할 때 읽기 전용 로그인을 사용합니다. (예: 보고서 열람)
데이터를 수정하거나 입력 할 때 읽기 - 쓰기 로그인을 사용합니다. (예: ASP.NET의 공용 웹 사이트를 생성하여 인터넷 사용자의 신청서를 받아 액세스 데이터베이스에 저장하려고 하는 경우)
 
참고사항: 이 기능은 오피스 365 Preview 에서는 현재 사용할 수 없습니다. 이 기능을 사용하려면 쉐어포인트 서버 2013 Preview를 개인 서버에 설치하여 사용 할 수 있습니다. (역자 주: 이 기능은 오피스 365 정식판에서는 현재 사용할 수 있습니다.) 

SQL 서버의 이점을 누리자

우리는 액세스 2013의 변화된 점에 기대하고 있고 사용자 여러분들도 마찬가지 이길 바랍니다. SQL 에저와 SQL서버는 액세스 2013에서 사용자의 데이터를 수용 할 수 있는 강력한 데이터 엔진을 제공합니다. 또한 고급 통합 및 확장을 위한 여러 가지 새로운 시나리오가 가능합니다. 우리는 여러분들이 만들 훌륭한 액세스 앱들을 기대하고 있습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 액세스-일반 길벗출판사 / 액세스 2013 무작정 따라하기 정오표 돌직구 2014-10-09 57663
공지 액세스-일반 길벗출판사 / 액세스 2010 무작정 따라하기 정오표 file 돌직구 2012-10-26 108833
23 IT일반 우편번호 DB 2014-03-07, 도로명 주소 포함 돌직구 2014-03-12 19634
22 IT일반 Windows 8에서 드래그 & 드롭이 되지 않을 때 file 윈드님 2013-09-12 27137
21 IT일반 맥북을 업무용으로 구입하고 싶으세요? 돌직구 2013-09-04 19005
20 MS액세스 블로그 번역 액세스(Access) 2013으로 업무용 앱을 만드는 4가지 방법 file 윈드님 2013-07-13 29044
19 MS액세스 블로그 번역 쉬운 데이터 입력 file 윈드님 2013-06-18 25328
18 IT일반 Dropbox 동기화 vs. SkyDrive Pro 동기화 돌직구 2013-06-06 15673
17 SQL Server SQL Server Express 버전별 DB 용량 1 돌직구 2013-05-30 27756
16 ADP 액세스와 SQL Server 간의 데이터 형식 호환표 돌직구 2013-05-14 15775
» MS액세스 블로그 번역 액세스(Access) 2013 과 SQL 서버(SQL Server) file 윈드님 2013-05-13 23755
14 MS액세스 블로그 번역 액세스(Access) 테이블, 자동으로 재연결하기 file 1 윈드님 2013-05-02 20026
13 MS액세스 블로그 번역 액세스(Access) 2013 웹 앱 만들기 file 윈드님 2013-04-18 26422
12 MS액세스 블로그 번역 액세스(Access) 2013 소개 file 윈드님 2013-04-15 19333
11 액세스-일반 한/영 자동 전환 (IME 모드 속성) file 돌직구 2013-04-12 14588
10 액세스-일반 탐색 컨트롤 돌직구 2012-07-17 14571
9 액세스-일반 피벗 테이블 돌직구 2012-07-17 14238
8 액세스-일반 피벗 테이블 / 피벗 차트 개요 돌직구 2012-07-17 15097
7 액세스-일반 특정 데이터베이스에만 반영되는 메뉴 만들기 file 돌직구 2012-07-17 12658
6 액세스-일반 ID와 암호 기반의 로그인 기능 돌직구 2012-07-17 13461
5 액세스-일반 작성자, 작성일시, 수정자, 수정일시 이력 관리 file 돌직구 2012-05-16 28790


  주소  05854 서울시 송파구 법원로 128 문정 SK V1 C동 1314호 ㈜팀데이터이십일  |  고객센터 전화번호  02-467-2998  |  대표이사  염기웅
개인정보관리책임자  염기웅 (ml_privacy@td21.com)  |  사업자등록번호  120-86-79260  |  통신판매업신고번호  제 2018-서울송파-1565 호
  TD21의 사전 서면 동의 없이 TD21 사이트 일체의 정보, 콘텐츠 및 UI 등을 상업적 목적으로 전시, 전송, 스크래핑 등 무단 사용할 수 없습니다.