데이터베이스의 개요

 

DBMS

데이터베이스 내의 데이터를 관리하는 파일 관리자

 

관계형 데이터베이스

관계나 2차원 테이블 이용

테이블 사용 로우와 칼럼으로 구성

 

데이터 타입

tinyint

smallint

int

정수 데이터 타입

 

날짜 및 시간 데이터 타입

datetume smalldatetime

 

고정 문자열과 가변 문자열

char, nchar varchar nvarchar

가변 문자열이 저장 공간 절약에 좋음

 

제약 조건

무결성 조건을 만족하기 위한 표준 방법 중의 하나

not null 제약 조건

기본 키 제약 조건

외래 키 제약 조건

 

SQL server 설치

Express, Workgroup, Standard, Enterprise

규모와 주용도에 따라 나뉨

 

SQL Server에서 제공하는 데이터베이스

시스템 데이터베이스

사용자 데이터베이스

 

시스템 데이터 베이스란?

SQL Server가 자체적으로 사용하는 데이터베이스

 

master

SQL Server가 자체 시스템을 유지 및 관리하기 위한 기본적인 내용을 다룬다.

model 개발자들이 새로운 사용자 데이터베이스를 만들 때 원본 역할을 한다.

 

msdb

msdb 데이터베이스는 경고 및 작업을 예약하고 운영자를 기록하기 위해 SQL Server 에이전트에서 사용된다.

 

tempdb

SQL Server에서 임시적으로 사용하는 메모리 역할을 한다.

 

데이터베이스는 데이터 저장 장소이고 관계형 데이터베이스는 관리하고자 하는 모든 데이터를 서로 연관관계를 가진 테이블 형식으로 저장할 뿐 아니라 이렇게 저장된 데이터에서 필요로 하는 정보만을 검색할 수 있는 방법을 함께 정의하고 있다.

 

SQL Server의 데이터베이스는 크게 시스템 데이터베이스와 사용자 데이터베이스, 두 가지로 나눌 수 있다. 시스템 데이터베이스는 SQL Server가 시스템을 운영, 관리하기 위한 데이터와 추가적으로 사용자 데이터베이스를 관리하기 위한 모든 데이터를 담아두는 곳이다.

 

데이터 모델링이란?

데이터베이스를 새롭게 구축하기 위한 준비과정으로서 사용자의 요구 사항을 듣고 사용자의 관점을 잘 분석하여 이를 추상화하여 문서화하는 과정을 말한다.

 

ERD(계체 관계 모델)

 

엔티티

실세계를 기본적로 표현할 수 있는 방법 - 테이블이 됨

 

엔티티는 인스턴스의 집합

 

애드리뷰트 - 칼럼이 됨

 

엔티티가 가질 수 있는 세부 특성

관계

엔티티 간의 연관성

 

관계의 차수

관계로 연결된 엔티티 타입들의 개수

 

카디날리티 비율

엔티티를 이루는 각 값이 관게에 참여할 수 있는 수

 

릴레이션 스키마

애트리뷰트의 집합

 

릴레이션 인스턴스

실제 값

 

릴레이션

스키마 + 인스턴스

 

무결성

개체 무결성

릴레이션에서 튜플을 구분하기 위해서 기본키를 구성하는 속성은 널 값이나 중복값을 가질 수 없다.

 

참조 무결성

외래 키 값은 null이거나 참조 릴레이션의 기본 키 값과 동일해야 한다.


질문은 댓글이나 방명록에 남겨주세요.

'IT > DB' 카테고리의 다른 글

MS SQL 기초 #4  (0) 2017.11.01
MS SQL 기초 #3  (0) 2017.11.01
MS SQL 기초 #2  (0) 2017.11.01

안드로이드 배경화면에 팝업 Activtiy로 알림 처리하기

 


이 방법을 사용하면 푸시 알람이 올 때 배경화면에 팝업을 띄움으로써 사용자에게 자세한 정보를 보여줄 수 있게 된다.

 

1.    필요한 클래스 및 xml 파일

1)     Push Receiver : 안드로이드 디바이스에 Push message를 보내는 클래스

2)     Popup Activity : Push message 전송 시 배경화면에 출력되는 팝업 화면을 컨트롤하는 클래스

3)     Layout : 팝업 화면 출력 시 사용자에게 보여지는 UI

4)     Manifest : Activity를 추가하고 launchMode를 설정하기 위한 설정 파일


 

2.    구현

1)     Push Receiver에 아래의 코드를 삽입함으로써 특정 시점에 팝업 화면이 출력되도록 함 :

Intent intent = new Intent(context, PopupActivity.class);
Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);

부가설명 :

FLAG_ACTIVITY_SINGLE_TOP : 호출되는 Activity가 최상위에 존재할 경우에는 해당 Activity를 다시 생성하지 않고, 존재하던 Activity를 다시 사용함.

FLAG_ACTIVITY_NEW_TASK : 새로운 태스크를 생성하여 그 태스크 안에 Activity를 추가함. 이 코드에서는 Activity가 아닌 곳에서 startActivity()를 하기 위해 사용.

 


2)     PopupActivity에서 필요한 설정을 함 :

+@ : 여기서 버튼 클릭 이벤트를 처리하면 된다.

public class PopupActivity extends Activity {
   
@Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);

 

               // 타이틀 바 제거
       
requestWindowFeature(Window.FEATURE_NO_TITLE);

 

               // 설정을 위한 준비
       
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();

 

               // 팝업 화면 출력 시 배경이 검게 되지 않도록 함.
       
layoutParams.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;

 

               // 팝업 화면 출력 시 배경화면 투명도 설정

             layoutParams.dimAmount = 0.7f;

 

               // 설정을 적용함
       
getWindow().setAttributes(layoutParams);
       
setContentView(R.layout.activity_sos_popup);
   
}
}

 

 

3)     Layout : 본인이 원하는대로 커스텀해서 사용


 

4)     Manifest : Activity를 추가하고 launchMode를 설정함.

<activity
 
android:name="PopupActivity"
// 다른 Activity를 무시하고 오직 하나의 Activity만 출력되게 함.
 
android:launchMode="singleInstance" 
   android:screenOrientation="portrait"
   android:theme="@android:style/Theme.Translucent" >
</activity>

 

질문은 댓글이나 방명록에 남겨주세요.

+ Recent posts