속성의 개념속성(attribute)는 릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보다.예를 들어 ‘차’라는 엔티티가 있을 때 속성을 뽑아보자.차 번호, 바퀴 수, 차 색깔, 차종 등이 있다.이 중에서 서비스 요구 사항을 기반으로 관리해야 할 필요가 있는 속성들만 엔티티의 속성이 된다. 밑과 같이 식물이 있다면 다음과 같이 속성을 정의 할 수 있다
CS/DB
릴레이션 개념릴레이션(relation)은 데이터베이스에서 정보를 구분하여 저장하는 기본 단위다.엔티티에 관한 데이터를 데이터베이스는 릴레이션 하나에 담아서 관리한다. 릴레이션은 관계형 데이터베이스에서 ‘테이블’ 이라고 하며NoSQL 데이터베이스에서는 ‘컬렉션’이라고 한다. 테이블과 컬렉션데이터베이스의 종류는 크게 관계형 데이터베이스와 NoSQL 데이터베이스로 나눌 수 있다.이 중 대표적인 관계형 데이터베이스인 MySQL 과 대표적인 NoSQL 데이터베이스인 MongoDB를 예로 들면MySQL: 레코드 - 테이블 - 데이터베이스MongoDB: 도큐먼트 - 컬렉션 - 데이터베이스로 이루어져있다. 레코드가 쌓여서 테이블이 되고 테이블이 쌓여서 데이터베이스가 되는 것이다.
엔티티의 개념엔티티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미한다.예를 들어 회원이라는 엔티티가 있다고 했을 때, 회원은 이름, 아이디, 주소, 전화번호등의 속성을 가질 수 있다. 물론 이보다 많은 속성이 있지만, 서비스의 요구사항마다 달라지는 거니까 .. ㅎㅎ예를 들어 주소라는 속성이 서비스의 요구 사항과 무관한 속성이라면 주소라는 속성은 없애는 게 맞다. 약한 엔티티와 강한 엔티티엔티티는 약한 엔티티와 강한 엔티티라는 개념이 있다.예를 들어 A 와 B가 있을 때 A가 혼자서는 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A는 약한 엔티티고 B는 강한 엔티티가 된다.예를 들어 방은 건물 안에만 존재하기 때문에 방은 약한 엔티티 건물은 강한 엔티티라고 할 수 있다.
기본개념데이터베이스는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음이다. 해당 데이터베이스를 제어, 관리하는 통합 시스템을 DBMS(DataBase Management System) 라고 하며, 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 또한, 데이터베이스는 실시간 접근과 동시 공유가 가능하다. 앞의 그림처럼 데이터베이스 위에 DBMS가 있고 그 위에 응용 프로그램이 있으며, 이러한 구조를 기반으로 데이터를 주고 받는다.예를 들어 MySQL 이라는 DBMS가 있고 그 위에 응용 프로그램에 속하는 Node.js 나 php 에서 해당 데이터베이스 안에 있는 데이터를 끄집어내 ..
SHOW TABLES Tables를 보여준다 SELECT COLUMN FROM TABLE TABLE 라는 테이블 안의 COLUMN 이라는 컬럼을 보여준다 *을 쓰면 모든 컬럼 WHERE 조건을 걸고 그에 해당하는 값을 보여준다 컬럼 조회 Select * from table where column = ABC LIKE (문자열 안에 해당 단어가 있으면 조회, %로 표현한다.) Select * from table where column like '%ABC' // 어떤 문자 뒤에 ABC로 끝나는 컬럼 조회 Select * from table where column like 'ABC%' // ABC로 시작하는 컬럼 조회 Select * from table where column like '%ABC%' // col..