Dev/Mysql(MariaDB) 10

Database Modeling(DB Schema, 정규화)

DBMS (데이터 베이스) 설계 어떤 데이터를 저장할 것인가? 음원검색 ( 네이버 뮤직 ) 데이터베이스 설계를 하는 주된 목적 중복성 제거 정규화 (Normalization) 데이터베이스 설계를 도식화한 도표 엔티티(entity), 속성(attribute), 관계(relation) 3가지 요소로 구성 엔티티(entity) 데이터가 저장되어야 하는 중요한 사물, 물체 엔티티에 대한 정보는 속성, 관계의 폼으로 저장 엔티티 속성(attribute) 엔티티의 정보들 (0 혹은 여러개) 엔티티 인스턴스(테이블에서의 열)는 각각 정확하게 하나의 값 또는 NULL(empty)일 수 있다. 각 속성의 값은 숫자, 문자열, 날짜, 시간, 혹은 다른 기본적인 데이터의 값 어떤 것이 엔티티 이고 속성 일까? 엔티티 네이밍..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - DML

데이터 조작어 ( DML ) 데이터 삽입 ( INSERT ) INSERT INTO 테이블명(필드1, 필드2, 필드3, 필드4, … ) VALUES ( 필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값, … ) INSERT INTO 테이블명 VALUES ( 필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값, … ) 필드명을 지정해주는 방식은 디폴트 값이 세팅되는 필드는 생력할 수 있다. 필드명을 지정해주는 방식은 추 후, 필드가 추가/변경/수정 되는 변경에 유연하게 대처 가능 필드명을 생략했을 경우에는 모든 필드 값을 반드시 입력해야 한다. [예제10] member의 컬럼에 각자의 데이터를 입력해 보세요. 주) 한글 입력전에 set names utf8 를 입력 하세요. auto_increment..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - 데이터타입과 DDL

MySQL 데이터 타입 데이터 정의어 ( DDL ) Table 생성 create table 테이블명( 필드명1 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 필드명2 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 필드명3 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], ........... PRIMARY KEY(필드명) ); 데이터 형 외에도 속성값의 빈 값 허용 여부는 NULL 또는 NOT NULL로 설정 DEFAULT 키워드와 함께 입력하지 않았을 때의 초기값을 지정할 수 있다. 입력하지 않고 자동으로 1씩 증가하는 번호를 위한 AUTO_INCREMENT 예제1 다음과 같은 TABLE ..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - 데이터 검색 (SUBQUERY)

SUBQUERY -- 맛보기) 현재 Fai Bale이 근무하는 부서에서 근무하는 직원의 사번, 전체 이름을 출력해보세요. SELECT * FROM employees a, dept_emp b WHERE a.emp_no = b.emp_no AND b.to_date = '9999-01-01' AND CONCAT(a.first_name, ' ', a.last_name) = 'Fai Bale'; SELECT a.emp_no, a.first_name FROM employees a, dept_emp b WHERE a.emp_no = b.emp_no AND b.to_date = '9999-01-01' AND b.dept_no = 'd004'; -- 위 두 쿼리를 합쳐보자. SELECT a.emp_no, a.first_..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - 데이터 검색 (JOIN)

JOIN 하나 이상의 테이블로부터 연관된 데이터를 검색해 오는 방법 Primary Key(PK) 와 Foreign Key(FK) 값의 연관에 의해 JOIN이 성립 ( 아닌 경우도 있다. 논리적인 값들의 연관으로만 성립 가능) 조인의 기본 유형 equijoin : =(equal) 연산자를 사용하는 조인 inner join : 조인 조건을 만족하는 행에 대해서만 결과값이 나오는 조인 outter join : 조인 조건을 만족하지 않아도 출력이 가능해야하는 결과를 얻고자 할 때 사용 EQUIJOIN Equal 관계만으로 하나의 테이블로 걀합한 결과 EQUIJOIN의 문형 SELECT 테이블명.컬럼명, 테이블명.컬럼명. … FROM 테이블1, 테이블2 WHERE 테이블1.컬럼1 = 테이블2.컬럼2 테이블명.컬럼..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - 데이터 검색 (날짜, 문자, 숫자, 집계)

1.1 SELECT 구문의 기본문형 1.2 SELECT 구문 예제 전체 데이터 검색 SELECT 뒤에 *를 기술함으로써 나타낼 수 있다 예제 : deaprtments 테이블의 모든 데이터를 출력. SELECT * FROM departments; 특정 칼럼 검색 SELECT 뒤에 컬럼을 콤마(,)로 구별해서 나열 예제 : employees 테이블에서 직원의 이름, 성별, 입사일을 출력 SELECT first_name, gender, hire_date FROM employees; 컬럼에 대한 ALIAS 부여 컬럼에 대한 ALIAS(별칭)을 부여해서 나타내는 칼럼의 HEADING을 변경할 수 있다. 예제 : employees 테이블에서 직원의 이름, 성별, 입사일을 출력 SELECT first_name AS ..

Dev/Mysql(MariaDB) 2021.10.01

MariaDB 기본(설치) 및 기본 SQL 연습

About MySQL 1) 세계에서 가장 인기 있는 Open source DB (하루 50,000번 이상 다운로드) 2) 1995년 첫 공식 버젼 발표(MySQL AB) 3) 2001년 GNU GPL 등록 4) 2008년 1월 SUN에서 인수(2010년 오라클 SUN인수로 오라클에서 현재 소유) 5) Open source LAMP/SAMP stack으로 급성장 6) 1000여개 SW 및 HW 회사에 번들로 설치 7) 오라클 인수 후, MySQL를 다른 DBMS에서 교체하는 움직임이 있다) 8) DB관리 TCO의 획기적인 감소 9) OracleDB, MS SQL과 함께 2019년 현재 3대 DBMS 로 많이 사용되고 있다. 10) 주요 버젼(Community Server) - 5.1(2008년, InnoD..

Dev/Mysql(MariaDB) 2021.09.30

RDBMS

데이터베이스의 기본개념 (정의) 데이터의 집합 ( a Set of Data ) 여러 응용 시스템(프로그램)들의 통합된 정보들을 저장하여 운영할 수 있는 공용(share) 데이터의 집합 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 한다 데이터베이스의 특성 실시간 접근성(Real-time Accessability) 사용자의 요구를 즉시 처리할 수 있다. 계속적인 변화(Continuous Evolution) 정확한 값을 유지하려고 삽입·삭제·수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있다. 동시 공유성(Concurrent Sharing) 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있다. 내용 참조(Conte..

Dev/Mysql(MariaDB) 2021.09.30

WorkBanch(워크벤치) 설치 및 RDBMS 의 시작 DCL 해보기.

구글 에 workbanch 다운로드 검색하고 들어가면 된다. https://dev.mysql.com/downloads/workbench/ https://visualstudio.microsoft.com/ko/thank-you-downloading-visual-studio/?sku=Community&rel=16 위에 링크를 클릭하고 다운 받는다. 1. (Relation)DB: 개요 2. SQL - DDL, DCL, DML (DA) (DBA) (DB Develope, CRUD) 3. Data Design, DA, DB Scheme(entity, ERD Logical) -> table(Physical) : 정규화(Normalization) 4. DB Programming(c, c++, java(JDBC), py..

Dev/Mysql(MariaDB) 2021.09.29