본문 바로가기

데이터베이스

(4)
MySQL 로 테이블만들고, 간단한 검색하기 create database university; use university; 위의 SQL 문을 실행시켜서 먼저 university 라는 database 를 먼저 만들어보겠다. 제대로 실행이 되었다면 좌측 상단에 university 가 생겼을거고 만약 아직 보이지 않는다면 새로고침버튼을 눌러보자! 그리고 이 데이터베이스를 사용하겠다는 use university 를 실행시켜 해당 데이터베이스 안에서 테이블들을 만들어보자. create table student ( sno integer primary key, sname varchar(10) not null, year integer not null default 1, dept varchar(10), email varchar(30), enter_date date..
SQL 개요 및 DDL 이번에 SQL 개요 및 DDL 에 대해서 알아보자. 자세한 설명은 아래에서 하겠다! SQL(Structed Query Language) 의미에서도 볼 수 있듯이 구조화된 질의어이다. 자연어로 “학년이 3학년인 학생들의 학번과 이름을 알려줘” 라고 할 수 없으니까 구조화된 질의어를 만들었고 예를들면, "SELECT sno, sname FROM student WEHRE syear=3; "이런식으로 작성할 수 있다. 종합 데이터베이스 언어 역할을 한다. 즉, 데이터 베이스와 인터렉트 할 수 있는 언어라는 것을 의미한다. 단순히 검색만을 위한 데이터 질의어가 아니다. 테이블의 구조를 정하거나, 삽입, 삭제, 갱신과 같은 조작, 혹은 제어 와 같이 다양한 작업을 처리할 수 있는 그런 언어로 설계되어있다. 데이터 ..
관계대수 이번엔 관계대수에 대해 알아보겠다! 관계대수(Relational Algebra) 릴레이션 단위로 데이터를 처리, 조작하는 연산의 집합을 관계대수라고 한다. 릴레이션은 테이블이면서, 투플들의 집합을 말한다. 관계대수에는 집합 연산자, 순수 관계 연산자 등을 사용하는데, 집합연산자에는 합집한, 교집합, 차집합, 카티션 프로덕트가 있다. 집합 연산자 합집합(U) 교집합(∩) 차집합(-) 카티션 프로덕트(x) 합병가능한 릴레이션에는 합집합, 교집합, 차집합이 있고 합병 가능하려면 1. 차수가 같아야하고 2. 대응 애트리뷰트 쌍 별로 도메인이 같아야 한다! 합집합, 교집합, 카티션 프로덕트는 결합법칙, 교환법칙이 성립하지만, 차집합은 결합법칙, 교환법칙이 성립하지 않는다! 순수 관계 연산자에는 실렉트, 프로젝트,..
관계형 데이터베이스 모든 데이터를 테이블 형태로 저장하고 관리하는데 테이블의 열(column) 을 필드라 부르고 이는 관계 데이터 모델의 애트리뷰트라고 한다. 테이블의 행(row) 를 레코드라고 부르고 관계 데이터 모델의 투플이라고 부르게 된다. 열 → 애트리뷰트 행 → 투플 애트리뷰트 릴레이션(테이블)의 한 속성 한 릴레이션 내에서 애트리뷰트 이름들은 모두 달라야한다. 도메인의 역할(role) 이름을 말한다. 도메인(domain) 각 애트리뷰트가 취할 수 있는 값들의 집합 각 애트리뷰트의 타입에 이름을 부여한 것이다 모든 DBMS 가 도메인을 명시적으로 지원하지는 않는다. 릴레이션의 개념 학생이라는 테이블을 만들때 학번, 이름, 학과, 학년같은 개체들의 속성들을 애트리뷰트로 정하게 되는데 애트리뷰트의 타입도 당연히 정하게..