본문 바로가기

데이터베이스8

soft delete(논리 삭제) && hard delete(물리 삭제) 물리삭제는 SQL의 DELETE 명령어를 사용하여 직접 데이터를 삭제하는 방법입니다. ex) DELETE FROM User WHERE userId = ?    논리삭제는 SQL의 UPDATE 명령어를 사용하여 삭제 여부를 알수 있는 컬럼에 데이터가 삭제되었다는 값을 넣어서 표현합니다. ex) UPDATE User SET activated = 0 where userId = ?   1. 데이터베이스의 용량이 매우 커질 수밖에 없습니다.2. SELECT 조회 시 불필요한 검색조건을 추가해야 합니다.3. where을 통한 필터링이 꼭 추가되어야 합니다.. 1.  데이터가 유지되어야 하는 속성의 테이블의 경우에는 논리삭제로 해당 테이블 레코드의  마지막 순간을 남길 수 있어 데이터를 나중에 다시 볼수 있다.  2.. 2024. 4. 30.
sql 기초문법 FROM : 어떤 테이블에서 이 데이터를 가지고 올 것인지 SELECT : 무엇을 가지고 올 것인지 * : 전체 column의 모든 내용을 말함(아스타라고 말함) LIMIT 숫자 : 숫자 만큼의 레코드를 가지고 온다 WHERE : 불러오는 데이터에서 조건에 맞는 데이터를 가지고 올떄 쓰인다. ex) WHERE CustomeName = 'Joson' 비교 연산자 ex) = , , >=, , Country 칼럼에서 KO로 시작하는 모든 데이터를 말한다 이떄 % 는 아무거나 다 들어올수 있다는 걸 말한다. IN : 여러가지 조건들을 중 하나만 만족해도 데이터를 가지고 올 떄 사용한다 ex) WHERE Country IN ('Korea', 'Germany', 'Japan') -> Korea, Germany, J.. 2024. 2. 9.
w3school sql연습사이트 https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_limit MySQL Tryit Editor v1.0WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usinwww.w3schools.com https://www.hackerrank.com/.. 2024. 2. 9.
키의 종류와 기능 키(Key)란? 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성 Super Key ->유일성을 만족하는 속성 또는 속성들의 집합 ->유일성 ; 하나의 key값으로 특정 튜플을 유일하게 찾을 수 있어야하는것 Candidate Key(후보키) ->유일성과 최소성을 만족하는 속성 또는 속성들의 집합 ->최소성: 키를 구성하는 속성들 중에서 필요한 최소한의 속성들로만 구성된 것 Primary Key(기본키) ->후보키 중에서 기본적으로 사용하기 위해 선택한 키 ->Null 값을 가질 수 없다, 중복된 값을 가질 수 없다, 기본키는 table당 1개만 지정 Alternative Key(대체키) ->후보키 중에서 기본키로 선택되지 못한 키를 말한다. Foreign .. 2024. 1. 18.
데이터베이스의 무결성이란? 데이터의 무결성 --> 데이터의 정확성, 일관성, 유효성이 유지되는 것을 말한다. 데이터베이스 무결성의 종류 1.개체 무결성 --> 기본 키로 선택된 필드는 고유한 값을 가져야 하며, 빈 값은 허용하지 않는다. 2.참조 무결성 --> 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되어야 한다. 3.도메인 무결성 --> 필드의 타입, NULL값의 허용 등에 대한 사항을 정의하고, 올바른 데이터의 입력 되었는지를 확인하는 것이다. 예를 들어, 주민등록번호 필드에 알파벳이 입력되는 경우는 도메인 무결성이 깨지는 경우라고 볼 수 있다 2024. 1. 17.
DML, DDL, DCL이란? DDL(Data Define Language) 스키마/도메인/테이블/뷰/인덱스를 정의/변경/삭제할 떄 사용하는 언어이다. 데이터 정의어 : CREATE, ALTER, DROP,TRUNCATE DML(Data Manipulation Language) 쿼리를 통해 저장된 데이터를 실질적으로 관리하는 데 사용한다. 테이블 안의 데이터를 추가하고 삭제/수정 하는것 데이터 정의어 : INSERT, DELETE, UPDATE DCL(Data Control Langage) 보안/무결성/회복/병행 제어 등을 정의하는 데 사용한다. 데이터 관리 목적 데이터 정의어 : COMMIT, ROLLBACK, GRANT, REVOKE DELETE와 TRUNCATE의 차이점 DELETE는 행 일부 또는 전체 데이터를 지운다. TRU.. 2024. 1. 11.
DB 정규화란? 정규화란? 이상 현상을 제거하기 위해서 데이터베이스를 올바르게 설계해 나가는 과정 정규화 종류 제1정규형 테이블의 컬럼이 원자값을 갖도록 분해하는 것 제2정규형 제1정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것 완전 함수 종속->기본키의 부분집합이 결정자가 되어서는 안된다는 것 제3정규형 제2정규화를 진행한 테이블에 대해 이행적 함수 종속을 없애도록 테이블을 분해하는 것 이행적 함수 종속-> A->B,B->C가 성립할 때 A->C가 성립되는 것을 의미한다. BCNF정규형 제3정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것 정규화의 장단점 장점 DB 변경 시 이상현상문제 해결. 불필요한 쿼리 제거로 성능 향상 단점 릴레이션의 분해로 인해 .. 2024. 1. 11.
index란 무엇인가? Index는 데이터베이스에서 table의 검색 성능을 높여주는 대표적인 방법중 하나입니다. 일반적인 RDBMS(관계형데이터베이스)에서는 B+Tree구조로 된 index를 사용하여 검색속도를 향상시킵니다. 장점 1. 검색 속도 향상 -> 테이블안에 데이터가 무분별하게 섞여 있을 경우 index가 없을 경우 처음부터 끝까지 다 읽어서 검색조건과 맞는지 비교해야된다 이것을 Full Table Scan 이라고 한다. 반면에 index가 있을 경우 데이터들이 정렬되어 저장되어 있기 때문에 검색 조건에 일치하는 데이터들을 빨리 찾아낼 수 있습니다 단점 1. 추가 저장공간이 필요 -> index 자료구조를 위한 저장공간이 추가적으로 필요하다. 보통 table크기의 10%정도의 공간을 차지한다 2. 데이터 변경 작업시.. 2023. 12. 27.
728x90