본문 바로가기

Programming/DB14

[sqlite3] database disk image is malformed 에러 뜨는 경우 sqlite3에서 크롤링한 객체를 인서트 하려고 하는데 아래와 같은 에러가 떴다. database disk image is malformed 생성된 DB 파일은 백업해둔 후(확장자가 .db 인 sql 파일!) drop으로 테이블을 삭제해 준 후 drop table ~ 기존에 작성해놨던 create문으로 새로 생성해준 후 똑같이 돌려줬다. create table ~ 간단한 조치로 아주 잘 돌아가는 것을 확인할 수 있다. 현재는 디비 양이 많지 않고 적재해놨던 양도 크지 않아서 싹 밀고 다시 했는데 적재돼있었던 디비 양이 많아서 처음부터 하기 부담스럽다면 다른 sql로 내용을 덤프해놓고 새로운 디비를 만들어서 다시 복사해오는 방법도 있다. 2022. 3. 17.
[DB] DDL, DML SQL의 특징 비 절차적(선언형) 언어, 필요한 데이터만 기술 데이터 정의 언어(DDL : Data Definition Language) 데이터베이스 내의 객체를 생성 및 삭제하고 그 구조를 조작하는 명령어의 집합 데이터가 준수해야 하는 제약조건을 기술 CREATE, ALTER, DROP 문 등 데이터 만들고 저장하고 수정하고 삭제 데이터 조작 언어(DML : Data Manipulation Language) DDL에 의해 정의된 테이블에 데이터를 조작하는 명령어의 집합 데이터에 대한 CRUD(생성, 검색, 삭제, 수정) 명령을 포함 INSERT, UPDATE, DELETE, SELECT 문 등 객체 내에 데이터를 저장하고 삭제한다 2022. 3. 7.
[DB] 식별자 제품지급 부서사원 제품이 부서 사원이랑 다대다 관계 제품과 사원 제품과 부서간에 서로 다대다 관계 제품지급이라는 엔티티 생성 제품지급 보시면 지급처라는 컬럼이 부서코드가 들어갈 수 있고 사원번호가 들어갈 수 있음 외래키 부모테이블 두개 여러 테이블 참조할 수 있는 관계를 배타관계선이라고 한다. 그리는 방법은 위에 배타관계 클릭해서 선끼리 연결하면 된다. 이렇게 표현은 하지만 사실 하나의 컬럼은 하나의 테이블만 참조할 수 있다 무결성 제약조건을 백프로 지켜서 넣어줄 수 없다. 물리적 모델에서는 둘다 부모로 가질 수 없기 때문에 이걸 대처하기 위해서 값을 잘 넣어야 한다. 2 둘다 확인해서 이게 위배되는지 확인 한 후에 값을 넣기 쿼리문 작성을 객체로서 저장해놓고 불러다 쓰기 지급처를 사원 부서 두개 컬럼으.. 2022. 3. 7.
[DB] 데이터 모델링 데이터베이스 릴레이션 , 엔티티= 테이블 동일한 데이터 베이스 안에는 같은 이름을 가지고있는 릴레이션은 존재할 수없다. 속성 = 릴레이션에서 rhksflgksmss rnp적인 정보 항목 추상화에서 field라고 생각하면됨 (한개의 행) 튜플 = 개체에 속한 구성원들 개개의 정보를 표현 후보키란 테이블에서 각 튜플을 구별하는데 사용되는 키 후보키중에 하나를 선택해서 튜플을 식벽하는데 쓰는것을 기본키 나머지는 대체키 모든 테이블에서 적어도 하나의 기본키가 존해한다. 복합키는 하나의 컬럼이 후보키의 역할을 하지 못하고 두개 이상의 컬럼이 합쳐져야 후보키의 역할을 하는 경우 외래키 상호 관련이 있는 테이블들 사이에서 데이터의 일관성을 보장해주는 수단이다. 외래키 제한, 연쇄, 널값으로 대체 현실세계 -> 개념적.. 2022. 3. 7.
Database(ORACLE) Database란? 💡 데이터를 저장하는 장소로서 한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고, 중복되는 데이터를 최소화하여 구조적으로 통합/저장해 놓은 것 Database의 정의 운영 데이터(Operational Data) : 조직의 목적을 위해 사용되는 데이터 공용 데이터(Shared Data) : 공동으로 사용되는 데이터를 의미 통합 데이터(Integrated Data) : 중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거 저장 데이터(Stored Data) : 컴퓨터 저장 장치에 저장된 데이터를 의미 Database의 기능 데이터 추출(Retrieval) 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함 ex) SELECT .. 2022. 3. 7.
[Oracle] DML-SELECT SELECT [PREDICATE] [테이블명.]속성명 [AS별칭][, [테이블명.]속성명, ...] [, 그룹함수(속성명) [AS 별칭]] [, Window함수 OVER (PARTITION BY 속성명1, 속성명2, ... ORDER BY 속성명3, 속성명4, ...}] FROM 테이블명[, 테이블명, ...] [WHERE 조건] [GROUP BY 속성명, 속성명, ...] [HAVING 조건] [ORDER BY 속성명 [ASC|DESC]; SELECT * FROM 사원; SELECT 사원 * FROM 사원; SELECT 이름, 부서, 생일, 주소, 기본급 FROM 사원; SELECT 사원.이름, 사원.부서, 사원.생일, 사원.주소, 사원.기본급 FROM 사원; SELECT DISTINCT 주소 FROM.. 2022. 3. 7.
[Oracle] PRIMARY KEY(기본키) 제약조건 PRIMARY KEY(기본키) 제약조건 : 테이블에서 한 행의 정보를 찾기 위해 사용하는 컬럼을 의미한다. 테이블에 대한 식별자 역할을 한다. NOT NULL + UNIQUE 제약조건의 의미 한 테이블당 한 개만 설정할 수 있음 컬럼 레벨, 테이블 레벨 둘 다 설정 가능함 한 개 컬럼에 설정할 수도 있고, 여러 개의 컬럼을 묶어서 설정할 수 있음 CREATE TABLE USER_PRIMARYKEY ( USER_NO NUMBER CONSTRAINT PK_USER_NO PRIMARY KEY, --컬럼 레벨 USER_ID VARCHAR2(20) UNIQUE, USER_PWD VARCHAR2(30) NOT NULL, USER_NAME VARCHAR2(30), GENDER VARCHAR2(10), PHONE VA.. 2022. 3. 7.
[Oracle] 테이블 생성 및 데이터 insert 크리에이트 테이블 생성 제약조건 제약조건은 테이블에 데이터를 집어 넣을 때 제약조건을 설정해서 null이나 중복값이 들어가지 않는 등. DDA(DATA DEFINITION LANGUAGE) : 데이터 정의 언어 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP)하는 구문 오라클에서의 객체 : 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 트리거(TRIGGER), 동의어(SYNONYM), 프로시져(PROCEDURE), 함수(FUNCTION), 사용자(USER) -- 테이블 만들기 -- CREATE TABLE 테이블명(컬럼명 자료형(크기), 컬럼명 자료형(크기), ...) CREATE TABLE MEMBER( M.. 2022. 3. 7.
[Oracle] subquery -- SUBQUERY(서브쿼리) -- 서브쿼리 : 쿼리문 안에 사용된 쿼리문 -- 사원명이 노옹철인 사람의 부서 조회 SELECT DEPT_CODE FROM EMPLOYEE WHERE EMP_NAME = '노옹철'; -- 부서코드가 D9인 직원을 조회 SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_CODE = 'D9'; -- 부서코드가 노옹철 사원과 같은 소속의 직원 명단 조회 SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_CODE = (SELECT DEPT_CODE FROM EMPLOYEE WHERE EMP_NAME = '노옹철'); -- 전 직원의 평균 급여보다 많은 급여를 받고 있는 직원의 -- 사번, 이름, 직급코드, 급여를 조회하세요 SELE.. 2022. 3. 7.
728x90
반응형
LIST