1) 리플렉션 자바는 클래스와 인터페이스의 메타 정보를 Class 객체로 관리한다. 여기서 메타 정보란 패키지 정보, 타입 정보, 멤버 (생성자, 필드, 메소드) 정보 등을 말한다. 이러한 메타 정보를 프로그램에서 읽고 수정하는 행위를 리플렉션이라고 한다. (1) Class 객체 [Class 객체를 얻기 위한 3가지 방법] Class c1 = 클래스이름.class Class c2 = Class.forName(“패키지 ... 클래스이름”); Class c3 = 객체참조변수.getClass(); [예시] String str = "hello": Class c1 = String.class; Class c2 = Class.forName("java.lang.String"); Class c3 = str.getClas..
1) 트랜잭션 (Transaction) (1) 트랜잭션이란 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야할 일련의 연산들을 의미한다. 예를 들어, MySQL에서 데이터 상태를 바꾸는 INSERT, DELETE, UPDATE 등의 SQL 명령어들은 각각 하나의 트랜잭션이라고 볼 수 있으며 여러 명령어를 하나의 트랜잭션으로 묶고자 한다면 “START TRANSACTION”으로 묶을 수 있다. (2) 트랜잭션의 특성 원자성 (Atomicity) 트랜잭션이 데이터베이스에 모두 반영되던지, 아니면 전혀 반영되지 않는 것을 원자성이라고 한다. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생하..
데이터 무결성 제약 조건데이터 무결성 제약조건이란 테이블에 부적절한 데이터가 입력되는 것을 방지하기 위해 테이블을 설계할 때, 각 컬럼에 대해서 정의한 여러 가지 규칙을 말한다.데이터 무결성 (데이터베이스 내에 있는 데이터의 정확성 유지) + 제약 조건 (바람직하지 않은 데이터가 저장되는 것을 방지하는 조건) 👉 즉, 모든 데이터베이스에 데이터가 삽입, 삭제, 수정등의 연산을 통하여 변하더라도 지속적으로 만족해야 한다! 무결성 제약조건에는 크게 “도메인 무결성 제약조건”, “개체 무결성 제약조건”, “참조 무결성 제약조건”이 있습니다. 도메인 무결성 제약 조건도메인 무결성 제약 조건이란 각 속성의 값은 반드시 도메인에 지정된 값만을 가져야 한다는 조건입니다.널 값의 허용 여부 - NOT NULL👉 ..
조인 이란 (Join) 데이터베이스 내에 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현하는 것을 Join 이라고 한다.이러한 JOIN은 보통 SELECT문과 함께 자주 사용되며 표준 SQL에서는 레코드를 조합하는 방식에 따라 JOIN을 INNER JOIN, LEFT JOIN, RIGHT JOIN 으로 구분한다. 기본 원리Join의 기본 원리는 N 개의 테이블을 카테시안 곱 (Cartesian Product)으로 테이블을 조합한다는 것에 있다. 조인을 통하여 필요한 정보를 조회하고자 할 때는 조인 조건을 명시해줘야 하는데 일반적으로 각각의 테이블에 PK나 FK의 관계를 이용하거나 열 값의 특정한 규칙을 통해서 명시한다. 예를 들어, N개의 테이블을 조인할 때에는 최소 (N-..
서브쿼리 (SubQuery)SQL 문장 (SQL Statement) 안에서 보조로 사용되는 또 다른 SELECT문을 의미하며, 예를 들어 최종 결과를 출력하는 쿼리를 메인 쿼리라고 한다면 이를 위한 중간 단계 혹은 보조 역할을 하는 SELECT문을 서브쿼리라 하는 것이다. 즉, 하나의 SQL문을 기준으로 메인 쿼리를 제외한 나머지 모든 SELECT문을 서브쿼리로 보면 되며, 서브쿼리는 여러 개를 사용할 수 있다. 더보기✅ [참고] 테이블 참조조인 (Join)은 조인에 참여하는 모든 테이블이 대등한 관계에 있기 때문에 조인에 참여하는 모든 테이블의 컬럼을 어느 위치에서라도 자유롭게 사용할 수 있으나 서브쿼리는 메인쿼리가 서브 쿼리를 포함하는 종속적인 관계로 서브쿼리는 메인 쿼리의 컬럼을 모두 사용할 수 ..
SELECT문 구조SELECT [DISTINCT] 필드 이름FROM 테이블 이름WHERE 조건GROUP BY 필드 이름 [표현식]HAVING 조건ORDER BY 필드 이름 ASC[DESC]LIMIT 보여줄 데이터 갯수OFFSET 건너뛸 갯수 SELECT문 실행 순서① FROM- SELECT 문에 필요한 테이블 선택② WHERE- WHERE 조건절을 이용하여 행(row) 데이터 필터링 (그룹함수 사용 불가능!! HAVING 구문에서만)③ GROUP BY - GROUP BY 절을 이용하여 특정 컬럼의 그룹화를 수행④ HAVING- HAVING 절을 이용하여 그룹화된 결과에 대한 조건 필터링⑤ SELECT- SELECT 절에서 사용할 컬럼 선택⑥ ORDER BY- ORDER BY 절을 이용하여 결과 데이터 정..
Entity-Relationship Digagram (E-R Model)객체-관계 모델 (Entity-Relationship Modeling, E-R Modeling)은 세상의 사물을 개체 (Entity)와 개체 간의 관계 (Relationship)로 표현하는 데이터 모델링 방식으로 개념적 데이터 모델링 단계에서 사용됩니다.한마디로 릴레이션 간의 관계들을 정의하는 것이며 Entity (개체)와 Relationship (관계)를 중점적으로 표시하는 데이터베이스 구조를 한 눈에 알아보기 위해 그려놓는 다이어그램입니다. 개체 관계도라고도 불리며 쉽게 말해, 요구분석 사항에서 얻은 엔터티와 속성들의 관계를 그림으로 표현한 것입니다. ERD 구성 요소 Entity엔터티는 정의 가능한 사물 또는 개념을 의미한다.사..
데이터 모델이란복잡한 실세계를 단순화하여 실세계에 존재하는 개체들을 식별하여 이들 객체와 객체 사이의 관계를 정의함으로써 컴퓨터상의 데이터베이스를 추상화된 개념으로 이해하기 쉽게 할 뿐만 아니라 사용자들 사이의 의사소통을 원활히 할 수 있도록 도와주는 도구이다.모델은 설계의 기반으로 예를 들어, 엔지니어는 자동차를 제품화하기 전에 모델을 작성하여 세부사항들을 확인하며 같은 방식으로 시스템 설계자는 모델을 개발하여 아이디어를 점검하고 데이터베이스 설계에 대한 이해를 높힐 수 있다. 즉, 데이터 모델은 현실 세계를 데이터베이스로 표현하는 중간 과정으로서 데이터베이스 설계 과정에서 컴퓨터에 저장할 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구라고 볼 수 있다. 데이터 모델링 개념데이터 모델링이란 정보..