본문 바로가기
728x90
반응형

전체 글265

[OS] 데드락(Dead Lock) - 교착 상태 데드락(Dead Lock)이란? '교착 상태'라고도 하며, 한정된 자원을 여러 곳에서 사용하려고 할 때 발생 - 멀티 프로그래밍 환경에서 한정된 자원을 사용하려고 서로 경쟁하는 상황 발생 - 어떤 프로세스가 자원 요청을 했을 때 그 시각에 그 자원을 사용할 수 없는 상황이 발생 -> 프로세스 대기 - 대기 상태로 들어간 프로세스들이 실행하지 못할 때 = 교착 상태 1. 데드락의 발생 조건 - 한 시스템 내에서 다음 네 가지 조건이 동시에 성립할 때에 발생 - 아래의 네 가지 조건 중 하나라도 성립하지 않다면 교착 상태 해결 가능! 1) 상호 배제 (Mutual Exclusion) 자원 하나 당 프로세스 하나만 사용할 수 있어야함 2) 점유 대기 (Hold and Wait) 최소한 하나의 자원을 점유하고 .. 2020. 11. 10.
[Oracle] 테이블 변경 및 테이블 복사 / ALTER TABLE / CTAS [Oracle] 오라클 테이블 / CREATE TABLE 테이블(TABLE) 데이터를 넣고 수정하고 삭제하는, 즉 데이터를 담고 있는 객체가 테이블이다. 테이블은 DBMS상에서 가장 기본적인 객체로 로우(행)과 컬럼(열)으로 구성된 2차원 형태(표)의 객체이�� prinha.tistory.com 테이블 변경 CREATE문으로 테이블을 생성한 후 불가피하게 수정해야 할 상황이 발생할 때가 많다. 최초 설계를 잘못한 원인도 있고 요구사항이 변경되기 때문이다. ALTER TABLE문을 사용해 테이블을 수정할 수 있다. CREATE TABLE ex2_10 ( --예시 테이블 Col1 VARCHAR2(10) NOT NULL, Col2 VARCHAR2(10) NULL, Create_date DATE DEFAULT .. 2020. 9. 16.
[Oracle] 데이터 무결성을 보장하기 위한 제약 조건 (Constraints) 제약 조건 (Constraints)은 컬럼에 대한 속성 형태로 정의하지만, 엄연히 오라클 데이터베이스 객체 중 하나이며 데이터 무결성을 보장하기 위한 용도로 사용된다. 제약 조건 타입(Constraint Type)에는 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK 등이 있다. -- 1) 컬럼별 수준제약 : 컬럼마다 제약조건 따로 -- 2) 테이블 수준제약 : 컬럼을 다 만든 후 제약 코드를 쓰는것 1) NOT NULL 컬럼을 정의할 때 NOT NULL 제약조건을 명시하면 해당 컬럼에는 반드시 데이터를 입력해야 한다. 즉 반드시 값이 들어 있어야 하는 컬럼에는 NOT NULL 제약조건을 만들어 사용한다. 컬럼명 데이터타입 NOT NULL CREATE TABLE e.. 2020. 9. 13.
[Oracle] DataType / 오라클 데이터 타입의 종류 데이터 타입(DataType)이란 컬럼이 저장되는 데이터 유형을 말하며, 오라클에서는 기본적으로 제공되는 기본 데이터 타입(원시 데이터 타입)과 사용자 정의 데이터 타입으로 구분할 수 있다. 사용자 정의 타입이란 사용자가 직접 기본 데이터 타입을 혼합해 만들 수 있는 타입이다. 1. 문자 데이터 타입 문자나 문자열 데이터는 문자형 데이터에 속하며, 오라클에서 제공하는 문자형은 다음과 같다. 데이터 타입 설명 CHAR (크기[ BYTE | CHAR ]) 고정길이 문자, 최대 2000byte, 디폴트 값은 1byte VARCARCHAR2 (크기[ BYTE | CHAR ]) 가변길이 문자, 최대 4000byte, 디폴트 값은 1byte NCHAR (크기) 고정길이 유니코드 문자(다국어 입력 가능), 최대 20.. 2020. 9. 13.
[Oracle] 오라클 테이블 / CREATE TABLE 테이블(TABLE) 데이터를 넣고 수정하고 삭제하는, 즉 데이터를 담고 있는 객체가 테이블이다. 테이블은 DBMS상에서 가장 기본적인 객체로 로우(행)과 컬럼(열)으로 구성된 2차원 형태(표)의 객체이다. SQL을 이용해 데이터를 조회, 삭제, 입력, 수정할 대상이며 그 결과를 담고 있는 것이 테이블이다. 데이터가 저장되는 객체이므로 테이블을 어떤 형태로 구성해 만들 것인지 정하는 것, 즉 테이블 설계 작업은 데이터 베이스를 사용할 때 가장 기초적이고 중요한 단계에 속한다. 테이블 생성 테이블은 로우와 컬럼으로 구성되므로, 테이블 생성은 컬럼 단위로 정의한다. 스키마명은 생략이 가능하며 생략하게 되면 현재 자신이 로그인한 스키마 이름으로 생성된다. 또한 TABLESPACE 구문도 생략이 가능한데, 생략하.. 2020. 9. 13.
[Oracle] 데이터베이스 객체 데이터베이스 객체란? 데이터베이스 내에 존재하는 논리적인 저장 구조를 말한다. 오라클과 같은 DBMS가 데이터를 관리하려면 데이터를 어딘가에 저장해 관리해야 하는데, 이런 목적을 달성하기 위해 필요한 모든 논리적인 저장 구조가 데이터베이스 객체이다. 데이터베이스 객체의 종류 데이터베이스 객체 설명 테이블 데이터를 담고 있는 객체 뷰 하나 이상의 테이블을 연결해 마치 테이블인 것처럼 사용하는 객체 인덱스 테이블에 있는 데이터를 빠르게 찾기 위한 객체 시노님 데이터베이스 객체에 대한 별칭을 부여한 객체 시퀀스 일련번호 채번을 할 때 사용되는 객체 함수 특정 연산을 하고 값을 반환하는 객체 프로시저 함수와 비슷하지만 값을 반환하지는 않는 객체 패키지 용도에 맞게 함수나 프로시저를 하나로 묶어 놓은 객체 2020. 9. 13.
[Oracle] 테이블 스페이스 생성 및 사용자 생성 테이블 스페이스 생성 오라클은 데이터를 관리하는 시스템이다. 따라서 데이터를 어딘가에 저장해 놓고 사용해야 하는데, 데이터 저장 단위 중 가장 상위 개념이 바로 테이블스페이스다. 데이터 저장 단위는 물리적, 논리적 단위로 나눌 수 있다. 물리적 단위는 물론 파일이며, 논리적 단위는 크기 순으로 ‘데이터 블록 → 익스텐트 → 세그먼트 → 테이블스페이스’다. 블록이 여러 개 모여 익스텐트를, 여러 개의 익스텐트가 모여 세그먼트를 구성하는 식이다. 저장 단위는 4개지만, 실제로 SQL을 이용해서 데이터를 조작하는 대상은 테이블이다. 테이블들을 담을 커다란 공간이 바로 테이블스페이스며, 지금부터 새로운 테이블스페이스를 만들어 보자. 테이블스페이스를 만드는 방법은 2가지다. 스크립트로 만들 수도 있고, EM(엔터.. 2020. 9. 13.
오라클 에디션별 특징/주요 오라클 서비스 오라클 에디션별 특징 오라클 데이터베이스를 설치하기 전 각 에디션별 특징을 살펴 보면 다음과 같다. • 엔터프라이즈 에디션(EE): 오라클 데이터베이스의 모든 기능을 사용할 수 있는 에디션 • 스탠다드 에디션(SE) : 데이터베이스의 기본 기능이 모두 지원되며 중소기업용으로 사용하기 적당함 • 스탠다드 에디션 원(SEO) : 스탠다드 에디션과 비슷하나 단일 CPU 환경에서 사용 가능 • 익스프레스 에디션(XE) : 무료로 사용할 수 있는 버전으로 상용으로 사용하려면 기능상 제한이 있음 • 퍼스널 에디션(PE) : 개인용으로 엔터프라이즈 에디션의 대부분의 기능이 지원되지만 단일 사용자만 사용 가능 주요 오라클 서비스 성공적으로 설치되면 PC는 ‘myoracle’이라는 데이터베이스를 서비스하는 오라클 서버로.. 2020. 9. 13.
[Spring] BeanUtils copyProperties / Spring Framework에서 제공하는 bean들간의 작업을 도와주는 추상 클래스 Static convenience methods for JavaBeans: for instantiating beans, checking bean property types, copying bean properties, etc. Mainly for use within the framework, but to some degree also useful for application classes BeanUtils 스프링 프레임워크에서 제공하는 bean들간의 작업을 도와주는 추상 클래스 -> 주로 copying been properties에 사용됨 해당 포스팅에서는 copyProperties method에 대하여 알아보도록 하자 // public abstract class BeanUtils에서 copyProper.. 2020. 8. 31.
[Spring Boot] REST API 설계 시 고려해야 할 사항 [Spring] REST API 방식 / RESTful 시스템 REST (Representational State Transfer) HTTP 기반으로 필요한 자원에 쉽게 접근할 수 있도록 도와주는 아키텍처이다. HTTP에 존재하는 모든 자원에 고유한 URI를 부여하여 자원을 정의하고, 자원에 대한 주소 prinha.tistory.com RESTful Web Services - Best practices ■ Consumer first 개발자 중심의 설계보다는 해당 API를 사용하는 사용자 중심으로 간단명료하고 직관적인 형태로 설계되어야함 ■ Make best use of HTTP HTTP Method, Request-Response Type, Header 값 등과 같이 HTTP의 장점을 최대한 살려 설계해.. 2020. 8. 27.
[Spring Boot] RESTful Service 강의 정리 (20) - JPA를 이용한 새 게시물 추가 POST HTTP Method [Spring Boot] RESTful Service 강의 정리 (19) - 게시물 조회를 위한 Post Entity와 User Entity의 관계 설정 [Spring Boot] RESTful Service 강의 정리 (18) - 게시물 관리를 위한 Post Entity 추가와 초기 데이터 생성 [Spring Boot] RESTful Service 강의 정리 (17) - JPA를 이용한 사용자 추가와 삭제 - POST/DELETE HTT.. prinha.tistory.com JPA를 이용한 새 게시물 추가 POST HTTP Method 1) PostRepository interface 생성 package com.example.restfulwebservice.user; import org.springfra.. 2020. 8. 27.
[Spring Boot] RESTful Service 강의 정리 (19) - 게시물 조회를 위한 Post Entity와 User Entity의 관계 설정 [Spring Boot] RESTful Service 강의 정리 (18) - 게시물 관리를 위한 Post Entity 추가와 초기 데이터 생성 [Spring Boot] RESTful Service 강의 정리 (17) - JPA를 이용한 사용자 추가와 삭제 - POST/DELETE HTTP Method [Spring Boot] RESTful Service 강의 정리 (16) - JPA를 이용한 개별 사용자 목록 조회 GET HTTP Me.. prinha.tistory.com Post Entity와 User Entity의 게시물 조회 UserJpaController method 작성 // Post Entity를 사용할 수 있는 게시물 조회 메소드 @GetMapping("/users/{id}/posts") p.. 2020. 8. 27.
728x90
반응형