반응형

주소 지정 방식(Memory Addressing Modes)

- 프로그램 수행을 위해 연산에 사용하는 명령어의 구조와 데이터가 기억장치 주소를 지정하는 방식

 

 

주소 지정 방식 종류

- 직접 주소 지정(Direct Addressing)

- 간접 주소 지정(Indirect Addressing)

- 계산에 의한 주소 지정(Calculated Addressing)

- 즉시 주소 지정(Immediate Addressing)

- 묵시적 주소 지정(Implied Addressing)

 

 

직접 주소 지정(Direct Addressing)

- Operand의 내용으로 실제 데이터의 주소가 들어 있는 방식이다.

- 주소 부분에 실제 사용할 데이터의 유효 주소를 적기 때문에 주소 길이에 제약을 받는다.

- 실제 데이터에 접근하기 위해 주기억장치를 참조해야 하는 횟수는 1번뿐이다.

 

 

간접 주소 지정(Indirect Addressing)

- Operand의 내용이 실제 데이터의 주소를 가진 포인터의 주소인 방식이다.

- 명령의 길이가 짧고 제한되어 있어도 긴 주소에 접근 가능하다.

- 실제 데이터에 접근하기 위해서는 주기억장치를 최소한 2번이상 참조해야 한다.

 

 

계산에 의한 주소 지정(Calculated Addressing)

- Operand부와 특정 레지스터의 값이 더해져서 유효주소를 계산하는 방식이다.

 

상대 주소 지정 방식 : 명령어의 주소 부분 + 프로그램 카운터

 

Base Register Mode : 명령어의 주소 부분 + Base Register

- 명령이 시작되는 최초의 번지를 기억하는 레지스터이다.

 

Index Register Mode : 명령어의 주소 부분 + Index Register

- 주소변경, 서브루틴 연결, 반복 연산 수행 등의 역할을 하는 레지스터이다.

 

 

즉시 주소 지정(Immediate Addressing)

- Operand에 실제 데이터가 기록되어 있는 방식이다.

- 데이터를 참조하기 위해 주기억장치에 접근할 필요가 없다.

- 별도의 기억장치에 액세스하지 않고 CPU에서 바로 자료를 이용할 수 있어서 실행속도가 빠르다.

- 명령어 길이에 영향을 받으므로 표현할 수 있는 데이터 값의 범위가 제한적이다.

 

 

묵시적 주소 지정(Implied Addressing)

- 명령 실행에 필요한 데이터의 위치를 지정하지 않고 누산기나 스택의 데이터를 묵시적으로 지정하여 사용한다.

- 0-주 명령의 경우 Operand 없이 Stack을 사용하며, 1-주소 명령의 경우 사용되는 하나의 Operand가 누산기이다.

반응형

'<Certificate> > <정보처리산업기사>' 카테고리의 다른 글

플립플롭(flip-flop)  (0) 2020.08.20

반응형

Create 문 : 데이터베이스 만들기, 테이블 만들기

 

DataBase 만들기

Create Database DB명

 

Table 만들기

Create Table [DB명.소유자명.]테이블명 (MyDB.dbo.UserInfo)

(

    필드명1 데이터타입 제약조건,

    필드명2 데이터타입 제약조건,

    필드명3 데이터타입 제약조건,

)

 

1) 제약조건1 : Null허용여부

    필드명 데이터형 null

    필드명 데이터형 not null

 

 

ex)

Create Table UserInfo

(

    id varchar(8) not null,

    login int null,

    userip varchar(15) null

)

 

 

2) 제약조건2 : Identity

- 데이터가 입력될 때마다 행에 순서 있는 유일한 번호를 붙일 때 사용

- DBMS에서 자동으로 채워 줌

- int형 필드에만 지정 가능

- not null 지정

- Identity(Seed, Increment)

필드명 int not null identity(1, 1)

 

 

3) 제약조건3 : 기본키 설정

각 레코드를 구별할 수 있는 유일한 값을 가지는 필드를 대상 설정, Primary Key

- 개체 무결성 제약조건, null일 수 없음

- 레코드를 식별할 수 있는 유일한 값을 가지는 필드에 설정

 

필드명 데이터형 not null constraint 기본키명(pk_테이블명) primary key

 

Foreign Key (외래키) : 참조 무결성 제약조건

 

Create Table 테이블명 (필드명 데이터형 not null constraint PK명 primary key,

필드명 데이터형 not null constraint FK명 foreign key reference 참조되는테이블(필드명))

 

 

테이블 생성 후 Key 제약조건 삭제

외래키 설정된 후에 참조되는 테이블의 기본키 삭제의 경우

외래키 먼저 제거 한 후에 참조되는 테이블의 기본키를 삭제할 수 있음

 

Alter Table 테이블명 drop constraint PK명

Alter Table 테이블명 drop constraint FK명

 

Table 수정하기

생성된 테이블에 필드 추가하기

 

Alter table 테이블명 add 필드명 데이터형 제약조건

 

1) null 필드추가 가능

2) not null 필드 추가 시에는 defalut 제약조건을 걸고 기본값 제공

 

 

생성된 테이블에서 필드 삭제

 

Alter table 테이블명 drop column 필드명

 

일반필드 (null, not null 제약조건은 그냥 삭제 가능)

 

기타 제약조건이 추가된 경우

- 필드 삭제문을 실행 : 제약조건 Key가 에러메시지에 노출

  Alter table 테이블명 drop column 필드명

- 제약조건 삭제 : alter table 테이블명 drop constraint Key값

- 필드 삭제 : alter table 테이블명 drop column 필드명

 

 

Insert 문

Insert into 테이블명 (필드명....)

values (값1, 값2, 값3....)

 

- 필드명은 모든 필드를 순서대로 입력하는 경우 테이블명과 values 사이의 필드명은 생략 가능 (identity 필드 제외)

 

ex)

Insert into Userinfo

(id, login, userip) values ('kh', 5, '192.168.0.2')

 

Insert into Userinfo

(id, login) values ('test', 2)

 

Insert into Userinfo

(id, userip) values ('test2', '192.168.0.3')

 

Insert into Userinfo

(login, userip) values (3, '192.168.219.4')       // id테이블이 not null 이므로 안됨

 

 

테이블 생성 후 PK설정

 

Alter table 테이블명 add constraint PK명 primary key (필드명)

반응형

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

[SQL] Select 문 (3)  (0) 2020.07.23
[SQL] Select 문 (2)  (0) 2020.07.22
[SQL] Select 문 (1)  (0) 2020.07.21
DataBase 정의와 DBMS 정의  (0) 2020.07.20

+ Recent posts