본문 바로가기

IT개념/데이터베이스

(6)
DB필드 명 조회 쿼리 (필드 네이밍 시 참고) 보호되어 있는 글입니다.
[데이터베이스] 2-1. 데이터베이스 관리 시스템의 정의와 발전 과정 이해 파일시스템이란? 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함 파일 시스템의 문제점 같은 내용 데이터가 여러 파일에 중복 저장됨 데이터 중복성: 저장 공간 낭비는 물론 데이터 일관성, 무결성 유지가 어려움 응용 프로그램이 데이터 파일에 종속적임 데이터 종속성: 사용하는 파일 구조를 변경하면 응용 프로그램도 같이 변경해야함 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족함 응용 프로그램 개발이 쉽지 않음 ‘데이터베이스 관리 시스템’이란? DBMS 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함 데이터베이스 관리 시스템의 주요 기..
[DataBase] 1-2. 데이터베이스 시스템(DBMS) 데이터베이스 관리 시스템 데이터베이스 특징 질의를 실시간으로 처리하며 응답할 수 있어야 한다(실시간 접근성) 삽입/삭제/갱신에 의해 계속 변화며(계속 변화) 여러 사용자가 동시에 데이터를 공유할 수 있다(동시 공유) 데이터 내용에 따라 참조할 수 있다(내용기반 참조) 데이터베이스 관리 시스템 개념 Case1. A사 직원은 캐비닛 파일 박스에 서류를 담아 놓고 필요할 때 마다 꺼내 오는 일을 한다. 캐비닛 > 비서 > 파일 박스 > 서류 Case2. 컴퓨터에 기반을 둔 데이터베이스 환경에는 컴퓨터 소프트웨어가 처리한다. DBMS > 데이터베이스 > 데이터 데이터베이스 관리 시스템 등장 배경 파일 시스템은 컴퓨터 보조기억장치 파일(file)에 데이터를 저장함 여기서 파일은 순차적인 레코드로 구성되어 있고, ..
[DataBase] 1-1. 데이터베이스의 필요성 및 정의와 특성 이해 데이터베이스의 필요성 데이터와 정보 데이터(Data) 현실 세계의 관찰, 측정하여 수집한 사실이나 값 정보(Information) 의사 결정을 유용하게 할 수 있도록 데이터를 처리한 결과물 정보처리 데이터에서 정보를 추출하는 과정 또는 방법 정보 시스템과 데이터베이스 정보시스템 조직 운영에 필요한 데이터를 수집해 필요할 때 유용한 정보를 만들어 주는 수단 데이터베이스 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 역할을 담당 데이터베이스의 정의와 특징 데이터베이스란? 특정 조직의 여러 사용자가 공유할 수 있도록 통합해서 저장한 운영 데이터의 집합 데이터베이스 4대 정의 요소 공유데이터: 특정 조직 여러 사용자가 함께 소유하고 사용할 수 있음 통합데이터: 최소한의 중복과 통제 가능한 중복..
[MYSQL] JOIN 사용하기 개인적으로 서브쿼리가 직관적이고 이해하긴 쉬운거 같은데 성능의 문제로 조인쿼리를 사용을 권장한다고 한다. 사용하게된 김에 다시 공부해보자. 이론 INNERJOIN : 양 테이블 서로 겹치는 값만 검색한다. (교집합) --문법-- SELECT 테이블별칭.조회할칼럼, 테이블별칭.조회할칼럼 FROM 기준테이블 별칭 INNER JOIN 조인테이블 별칭 ON 기준테이블별칭.기준키 = 조인테이블별칭.기준키.... --예제-- SELECT A.NAME, --A테이블의 NAME조회 B.AGE --B테이블의 AGE조회 FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP AND A.DEPT = B.DEPT LEFT(RIGHT) OUTER JOIN : 왼쪽 테이블..
[MYSQL] 정렬된 행 중간에 새로운 행 삽입과 삭제하기 프로젝트의 DB 구현 중 정렬된 행 사이에 새로운 행을 삽입하거나 삭제해야 하는 기능의 구현이 필요했다. 예를 들어 위와 같은 테이블에서 일련번호가 꼬이지 않게 하면서 점심식사와 낮잠 사이에 행 간식 행을 넣으려고 한다. 우선 정렬할 기준 필드로 일련번호를 삽입할 rowNo 필드를 생성했다. AUTO_INCREMENT로 필드를 만들면 기본키이기 때문에 중간삽입같은 정렬에 사용할 수 없어서 직접 로직을 작성하여야 한다고 생각했다. INSERT INTO schedule (planNo, userId, startDate, descript, planDay, rowNo) VALUES ('1', 'member1', '2021-05-10', '숙소 도착', '1', (SELECT COUNT(*) FROM schedul..