목록DBMS/SQL (5)
jju71 님의 블로그
뷰(View)select 문을 저장해둔 가상의 테이블 create view 뷰이름 as select 문view를 사용하는 이유1. 복잡한 SQL을 단순화2. 재사용(자주 쓰는 조회 저장)3. 가독성(SQL을 보기 쉽게 구성)4. 보안(특정 칼럼만 공개)데이터를 직접 저장하지 않음(원본 테이블의 select 결과를 보여주는 가상 테이블)member 테이블 데이터를 변경 -> view 결과도 같이 변경use ai;create view vip_member as select userid, name, point from member where point >=100;-- table > view> 우클릭 > refresh all-- view는 select처럼 사용 가능select * from vip_member..
사용자 계정데이터베이스에 접속할 수 있는 로그인 계정root 계정은 모든 권한을 가진 계정이기 때문에 실제 사용시 위험할 수 있음프로젝트별로 계정을 따로 만들고, 필요한 권한만 부여하는 것이 일반적create user '계정명'@'접속위치' identified by '비밀번호'localhost: 같은 컴퓨터(현재 내 컴퓨터)에서만 접속, 외부에서는 접근할 수 없다는 의미'apple'@'%': 어디서든 접속가능'apple'@'192.168.0.%': 192.168.0. 으로 시작하는 내부망에서만 접속이 가능'apple'@'192.168.0.10': 특정 ip에서만 접속 가능create user 'apple'@'localhost' identified by '1111'; 권한 부여grant 권한종류 on 데이..
서브쿼리(Sub Query)서브쿼리는 SQL문 안에 들어가는 또 다른 select문- select ... from where 컬럼 = (select ...); -- 김사과보다 포인트가 많은 회원을 검색 - select point from member where name = '김사과'; - select * from member where point > 150; > select * from member where point > (select point from member where name = '김사과' 1. 단일 행 서브쿼리결과가 하나의 값만 나오는 서브쿼리-- 포인트가 가장 높은 회원을 검색select * from member where point = (select max(point..
정규화(Normalization)- 데이터베이스를 테이블을 효율적으로 구조화하는 작업- 중복 데이터를 줄이고, 데이터가 꼬이지 않게 테이블을 나누는 과정- 데이터 무결성 유지, 유지보수 편리성 증가정규화 단계1. 제1정규화(1NF) - 하나의 칸에는 하나의 값만 들어가야함 예) MySQL, Python (X)2. 제2정규화(2NF) - 1NF 만족 - 기본키 전체에 완전 종속되어야 함3. 제3정규화(3NF) - 2NF 만족 - 이행적 종속 제거* 이행적 종속 학번 -> 학과번호 학과번호 -> 학과명 학번 -> 학과명 : 간접 연결을 이행적 종속이라고 함 CREATE TABLE student_course ( student_id INT, st..
데이터 (Data)정보를 나타내는 숫자, 문자 , 기호의 집합가공되지 않은 사실이나 값의 집합데이터베이스(Database)체계적으로 구성된 데이터의 집합특정 목적을 위해 조직화되고 관리정보를 효율적으로 저장, 검색, 업데이트, 관리할 수 있는 기술적인 도구와 구조를 제공데이터베이스 관리 시스템(DataBase Management System)데이터베이스를 관리할 수 있는 기술적인 소프트웨어관계형 데이터베이스 시스템(Relation DBMS)데이터를 테이블(표) 형식으로 관리하고, 각 테이블 간의 관계를 설정하여 데이터를 효율적으로 저장하고 검색하는 데이터베이스 관리 시스템의 한 종류SQL(Structured Query Language)를 사용 : 관계형 데이터베이스에서 데이터를 정의하고 조작하기 위한 언..