프로그래밍[Univ]/데이터베이스(DB) 8

[DB] JOIN

* Join - 둘 이상의 테이블을 합쳐서 하나의 큰 테이블로 만드는 방법 - 데이터 의 중복을 최소화하며, 데이터의 일관성과 효율을 높이기 위해서 사용 - FK를 이용하여 참조를 한다. - Syntax SELECT COL1, COL2, COL3, ... FROM TABLE1, TABLE2, ... WHERE [조건] > 조건은 테이블 개수보다 한개 적은 것이 보통 필요로 하며, PK와 FK사이의 조건이 많이온다. ex) select id, name, dept_name from student, dept where student.dept_no = dept.dept_no; * Join의 종류 - Cross join(Cartesian product) : 모든 가능한 쌍이 모두 나타난다. - Inner join..

[DB] Select문

* select - 데이터베이스에서 원하는 데이터를 검색하고 추출하는 문법(Projection or selection) - select [All | Distinct ] row_list(schema_list) // projection 열 추출 [from table_list] [where condition] // selection 행 추출 [group by row_list [condition]] [order by row_list [asc|desc]] // 출력 순서 지정 > All = * // Distinct = 중복 결과 제거 > ALIAS : 이름 변경 > Expression : 기본적인 연산 및 함수 사용 가능 ex) select id 학번, name 이름, money-100 from student; ..

[DB] Relational Model(관계형 모델)

* 데이터를 표현하는 법(Data model) - 데이터를 표현하는 법은 자료구조에서 배웠듯이, 리스트, 트리, 그래프, 배열등이 존재한다. - 일상생활에 존재하는 데이터는 각각 다른 방법을 사용하면 쉽게 표현이 가능하다. - 이렇게 때문에 DBMS의 목적(표현하려는 데이터)과 편리에 의해서 Data Model은 다를 수 있다. * Data Model - 과거부터 사용된 Network model, Hierarchical model등이 존재한다. - Relational Data model, E-R(Entity-Relationship) data model, O-R(Object-relational) data model O-O(Object-Oriented) data model이 현재 많이 사용되는 데이터 모델이..

[DB] Data Base의 개념

* DataBase : 여러 시스템에 필요한 정보를 통합 저장, 관리하는 운영 데이터의 집합 *특징 - 실제 존재하는 정보를 원하는 형태(DataModel)로 저장해준다. - 컴퓨터 시스템과 무관하며, 일상적인 곳에서 DB를 많이 찾을 수 있다. * DBMS : DB관리를 위한 컴퓨터 시스템 * DBMS의 목적 - DBMS가 없던 과거 파일 시스템 > 하나의 데이터 파일에 대한 응용프로그램을 작성, 응용프로그램을 돌리는데 필요한 데이터 파일을 생성 > 똑같은 데이터가 중복(Redundancy)하여 들어가게 되며, 이는 일관성(Consistency)문제를 발생시킨다. >> 하나의 바뀐 정보를 수정시에는 모든 data file을 수정해야한다. data file이 연결되있는 것이 아니기 때문에 반복적인 작업이..

[MySQL] MySQL 기본 사용법

앞으로 나오는 {} 기호는 사용자가 입력해야 되는 것을 말한다. * MySQL 접속 방법 - cmd창을 실행시킨다. - mysql -u {user_id} -p {user_pwd} {database_name}; > mysql -u {user_id} -p {user_pwd} 만 입력하면 database를 따로 선택해줘야한다. > mysql -u {user_id} -p만 입력하면, user_pwd를 입력해달라고 나올 것이다. * Database 사용 - Database 생성 : create database {db_name}; - Database 선택 : use {db_name}; - Database 목록보기 : show databases; * User 생성 - grant all on {db_name}.* to..

[DB] DBMS(데이터베이스 관리 시스템) 6/30

* DBMS (데이터베이스관리시스템) - 사용자와 데이터베이스사이에 위치 - 데이터베이스 관리 및 사용자가 요구하는 연산을 수행/정보생성 * 구성 - DDL컴파일러 / DDL 처리기 : DDL로 정의된 스키마를 내부형태로 변환하여 시스템 카탈로그에 저장 - 질의어 처리기 : 일반 사용자가 제출한 질의문을 파싱하고 분석하여 효율적으로 데이터베이스에 접근 할 수 있는 코드를 생성 및 실행(런타임데이터베이스처리기로의 이동)한다. - DML예비 컴파일러 : 응용프로그래머가 작성한 프로그램속에 삽입되어 있는 DML명령문을 추출하고, 그 자리에 함수 호출문을 삽입 -> DML 컴파일러로 전송 - DML 컴파일러 / DML처리기 : DML예비 컴파일러에게 받은 DML명령문을 파싱/컴파일 효율적인 목적코드를 생성후 실..

[DB] 3단계 데이터 베이스 구조 6/30

* 스키마 : 데이터베이스 구조와 제약 조건에 대한 명세를 기술한 것 ⓐ 구성 - 데이터 객체/개체 : 데이터 구조를 표현 - 개체의 속성 - 개체간의 관계/제약조건 1) 외부스키마(External schema)/서브스키마(sub schema) - 데이터베이스의 외적인 면을 표현 - 외부에서 접근하는 데이터베이스를 정의 - 응용프로그램과 사용자에 관련된 개체와 관계 ※ 하나의 데이터 베이스 시스템에는 여러개의 응용 프로그램이 존재 > 하나의 데이터베이스 시스템에는 여러개의 외부스키마가 존재 2) 개념스키마(Conceptual schema) - 개념의 의미 : 추상적이지 않고 전체적이고 종합적인 것 - 스키마 그 자체로 생각할수도.... - 데이터베이스시스템의 모든 응용프로그램들이나 사용자들이 필요로 하는..

[DB] 데이터 베이스 Basic 6/29

* 데이터베이스 시스템 - 효율적인 정보처리 기능을 수행하기 위한 도구 > 정보처리 : 컴퓨터가 정보를 생성하기 위해 데이터를 처리하는 작업 ⓐ 데이터 vs 정보 - 데이터 > 관찰이나 측정을 통해 수집된 값 - 정보 > 데이터에 대한 결정을 도와주는 지식 > 데이터의 유효한 해석/데이터간의 상호관계 → 데이터를 처리를 통해 얻어진 결과 / 의사 결정시 결과에 영향을 주는 것 * 정보 시스템 - 정보를 생성하여 분배하는 수단 * 데이터 처리 스시템 - 데이터가 조직되고 접근 되는 방법 ⓐ 일괄처리 시스템 > 유사한 데이터(트랜색션)를 한 곳에 모아 일정시간에 한꺼번에 처리하는 방식 ※ 트랜색션(transaction) - 하나로 묶어 처리되어야 하는 논리적 작업단위 - 분리 될 수 없는 연산 그룹 > 일정..