관계대수란? 1. 관계대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다. 2. 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다. 3. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다. 4. 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있다. 순수 관계 연산자 ※ 순수관계 연산자란 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자를 말한다. 순수 관계 연산자 : Select, Project Join, Devision Select Select는 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을..
무결성이란? 무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다 무결성을 유지하는 방법 대표적으로 사용되는 방법은 중앙 통제에 의한 데이터 갱신으로서, 이 방법은 검증 프로그램을 이용하여 모든 갱신 처리 과정에서 반드시 검증 단계를 거치도록 통제를 가한다. 검증 프로그램이 무결성을 검증하기 위해 무결성 규정을 사용한다. 규정이름 : 무결성 규정을 참조할 때 사용하는 식별자 트리거조건 : 트랜잭션의 접근 유형 및 데이터, 검사할 시기 명시 프레디킷(제약조건) : 무결성을 위한 검사조건 위반조치 : 검사결과 무결성 위반이 발견되었을 때 처리할 조치 무결성의 종류 1. 널 무결성 : 릴레이션의 특정속성 값이 Null이 될 수 없도록 하는 규정 2. 고유..
키(Key)란? : 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말한다. 키(Key)의 종류 후보키(Candidate Key) 1. 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다. 2. 하나의 릴레이션내에서는 중복된 튜플들이 있을 수 없으므로 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다. 3. 후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다. 유일성 : 하나의 키값으로 하나의 튜플만을 유일하게 식별할 수 있어야한다. 최소성 : 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성만으로 ..
데이터베이스 설계 데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는것이다. 데이터베이스 설계 시 고려사항 1. 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조건을 항상 만족해야함 2. 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함 3. 회복 : 시스템에 장애가 발생했을 떄 장애 발생 직전의 상태로 복구할 수 있어야 함 4. 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 5. 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의..
데이터모델이란? 1. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화 하여 체계적으로 표현한 개념적 모형이다. 2. 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다. 3. 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구이다. 4. 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다. 데이터모델의 종류 개념적 데이터 모델 1. 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 2. 개념적 데이터 모델은 속성들로 기술된 개..
데이터베이스 언어란? 1. 데이터베이스 언어(Database Language)는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 시스템과의 통신 수단이다. 2. 데이터베이스 언어는 DBMS를 통해 사용되며, 기능과 사용 목적에 따라 데이터 정의 언어, 데이터 조작 언어, 데이터 제어 언어로 구분된다. 데이터 정의 언어(DDL) 1. 데이터 정의 언어(DDL)는 DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다. 2. 데이터 정의 언어는 번역한 결과가 데이터 사전(DataDictionary)이라는 특별한 파일에 여러개의 테이블로서 저장된다. 데이터 정의 언어(DDL)의 기능 1. 외부 스키마 명세를 정의한다. 2. 데이터베이스의 논리적, 물리적 구조 및 구조 간의..
스키마란? 1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다. 2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다. 3. 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다. 스키마의 특징 1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다. 2. 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다. 3. 스키마는 시간에 따라 불변인 특성을 갖는다. 4. 스키마는 데이터의 구조적 특성을 ..
DBMS가 필요한 이유 DBMS란? 1. DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. 2. DBMS는 기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해 준다. 3. DBMS는 데이터베이스의 구성, 접근방법 , 유지관리에 대한 모든 책임을 진다. 데이터베이스 데이터구성 데이터베이스를 이용하는 방식에서는 각 업무 처리에 필요한 자료들의 중복을 최소화 하여 한 곳에 모아서 구성한다. DBMS사용시 효과 1. 데이터의 논리적 물리적 독립성이 보장된다. 2. 데이터의 중복을 피할 수 있어 기억공간이 절약된다. 3. 저장된 자료를 ..
데이터베이스의 정의 데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임이다. 1. 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임이다. 2. 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다. 3. 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료이다. 4. 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다. 데이터베이스의 특징 1. 실시간 접근성(Real-Time Accessibility) : 수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능..
자료와 정보 자료(Data) : 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 결과값으로 가공되지 않은 상태를 말한다. 정보(Information) : 의사 결정에 도움을 줄 수 있는 유용한 형태로, 자료를 가공(처리)해서 얻을 수 있는 결과이다. 정보시스템의 정의 1. 정보시스템이란 조직체에 필요한 Data를 수집, 저장해 두었다가 필요시에 처리해서 의사결정에 유용한 정보를 생성하고 분배하는 수단을 말한다. 2. 정보시스템은 사용하는 목적에 따라 경영 정보 시스템, 군사 정보 시스템, 인사 행정 정보 시스템, 의사 결정 지원 시스템등으로 구분되어 사용된다. 자료 처리 시스템 자료 처리 시스템은 사용할 자료를 처리하는 정보 시스템의 서브 시스템으로, 처리 형태에 따라 세 가지로 분류할 수 있..
핸드폰 디바이스는 크기가 작습니다. 고로 한 화면에 많은 기능을 넣기가 굉장히 힘이 드는데요. 자취방에 많은 물건을 가져다놓기위해 옷장안에 옷을넣고 수납장안에 물건을 넣고 하는 것처럼 어플리케이션도 한 페이지에 최대한 많은 기능을 넣기 위해서는 UI를 효율적으로 구성할 필요가 있습니다. 자취방의 서랍장처럼 한 액티비티에 모든기능을 다 띄워놓는것 보다는 사용자가 필요한경우에 액션을 취하면 숨겨졌던 기능이 나오는 방식으로도 생각해볼 수 있습니다. 그렇게하면 액티비티의 공간이 훨씬 절약되니까요. 애니메이션을 활용한 슬라이드 메뉴 만들기 프로젝트의 구성은 다음과 같습니다. FrameLayout 에는 Layout을 중첩해서 사용할 수 있습니다. FrameLayout안에 SubLayout을 만들고 android:v..
안드로이드 개발을 하다보면 리스트뷰안에 세부 리스트뷰를 넣고 싶을때가 있습니다. 예를들면 카테고리 메뉴나 게시판 댓글기능구현 같은 기능들이죠. 이럴때 유용하게 사용할 수 있는 기능이 있습니다. 바로 ExpandableListView입니다. ExpandableListView는 단순히 아이템을 나열하는 일반 리스트뷰와는 달리 아이템을 그룹으로 묶어 Display할 수 있기에 좀 더 깔끔한 UI를 구성할 수 있게끔 도와줍니다. 확장 리스트뷰 만들기(ExpandableListView) ※ ExpandableListView의 특징 1. ExpandableListView는 기본적으로 스크롤을 지원합니다. 2. ExpandableListView의 아이템은 원하는 모양으로 변경하는 것이 가능합니다. 3. 그룹명 왼쪽에..
프로그램을 혼자 개발할려고 하면 힘들죠. 특히 개발을 하면서 디자인도 같이 병행해야 하는 어플리케이션을 만들어야 할 경우에는 더 그렇습니다. 기능보다 디자인이 더 암걸려요. 하지만 오픈소스를 사용하면 개발과 디자인을 쉽게 만들고 개발시간도 짧게 만들어줍니다. 소프트웨어가 꾸준히 발전하고 있는 이유는 바로 이런 오픈소스 덕이 아닐까요? 이번 포스팅에서는 제가 주로 사용하는 안드로이드 오픈소스 사이트에 대해서 알려드리고자 합니다. 오픈소스 라이브러리 1. Android 개발자 포털 안드로이드 라이브러리 오픈소스 무료/유료/데모 버전이 있습니다. 오래된 사이트임에도 불구하고 최근까지도 계속 업데이트되고 있는 사이트입니다. 2. 초보 개발자를 위한 안드로이드 오픈소스 라이브러리 Best27 aedi님께서 정리해..