AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

All perguntas(dba)

Martin Hope
Michael MacDonald
Asked: 2016-05-15 15:48:31 +0800 CST

MySQL -> Loop através de uma tabela, executando um procedimento armazenado em cada entrada

  • 17

Eu tenho um banco de dados com 'livros' (contos para crianças) e seria extremamente informativo ter contagens de palavras de cada palavra nos livros.

Eu descobri como obter a contagem de palavras para cada palavra usando:

SELECT SUM
( 
    ROUND
    ( 
        (LENGTH(pageText) - LENGTH (REPLACE (pageText, "Word", "")))
        /LENGTH("Word")
    )
) FROM pages WHERE bookID = id;

O que funciona maravilhosamente para contar as palavras. MAS isso requer que eu passe por cada livro, e tire cada palavra, e execute-a por meio dessa função (eu a salvei como um procedimento armazenado).

Eu tenho uma tabela que contém cada palavra, sem duplicatas.

Minha pergunta: existe uma maneira de fazer algum tipo de loop "for each" na tabela Words usando meu procedimento armazenado?

ou seja. passe ao procedimento armazenado um ID de livro e uma palavra e registre o resultado. Fazendo CADA palavra, para CADA livro. Assim, economizando muito tempo manual... Isso é algo que eu deveria estar fazendo do lado do banco de dados? Devo tentar com PHP em vez disso?

Honestamente, qualquer entrada é muito apreciada!

mysql stored-procedures
  • 1 respostas
  • 69243 Views
Martin Hope
A_V
Asked: 2016-05-10 09:37:04 +0800 CST

Tarefa travada no estúdio de gerenciamento, como você lida com isso?

  • 17

Depois de clicar em "Tomar banco de dados offline" no estúdio de gerenciamento, esta mensagem fica travada e não será fechada se você clicar em fechar.

https://i.imgur.com/KD6AROv.png

Qual é uma boa maneira de lidar com trabalhos presos como esses no estúdio de gerenciamento? Você pode matá-los através do monitor de atividade? Devo procurar qual processo está impedindo que este trabalho seja concluído e encerrá-lo?

sql-server ssms
  • 3 respostas
  • 32835 Views
Martin Hope
yeln
Asked: 2016-04-21 07:05:05 +0800 CST

Projetando uma estrutura de banco de dados de amizades: devo usar uma coluna de vários valores?

  • 17

Digamos que eu tenha uma tabela chamada User_FriendList, que possui as seguintes características:

CREATE TABLE User_FriendList (
    ID ...,
    User_ID...,
    FriendList_IDs...,
    CONSTRAINT User_Friendlist_PK PRIMARY KEY (ID)
);

E suponhamos que a referida tabela contenha os seguintes dados:

+----+---------+---------------------------+
 | Identificação | User_ID | Friendlist_IDs             |
 +----+---------+---------------------------+
 | 1 | 102 | 2:15:66:35:26:17: |
 +----+---------+---------------------------+
 | 2 | 114 | 1:12:63:33:24:16:102 |
 +----+---------+---------------------------+
 | 3 | 117 | 6:24:52:61:23:90:97:118 |
 +----+---------+---------------------------+

Nota: O “:” (dois pontos) é o delimitador ao explodir em PHP em um arquivo array.

Perguntas

Então:

  • Esta é uma maneira conveniente de “armazenar” o IDsde um FriendList?

  • Ou, em vez disso, devo ter linhas individuais com apenas um único FriendIdvalor em cada uma delas e, quando precisar recuperar todas as linhas de uma determinada lista , simplesmente realizar uma consulta como SELECT * FROM UserFriendList WHERE UserId = 1?

database-design foreign-key
  • 1 respostas
  • 20980 Views
Martin Hope
Hazell B
Asked: 2016-04-13 07:54:38 +0800 CST

como obter histórico de consultas executadas com nome de usuário no SQL

  • 17

Eu posso obter consultas executadas usando:

SELECT deqs.last_execution_time AS [Time]
    ,dest.TEXT AS [Query]
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC

mas também estou procurando por usernamecoluna, que executou essas consultas.

sql-server sql-server-2008
  • 1 respostas
  • 91641 Views
Martin Hope
monoh_
Asked: 2016-03-11 13:47:27 +0800 CST

Armazenando rotas de ônibus em um banco de dados

  • 17

Fiz algumas pesquisas e descobri que devo armazenar uma rota como uma sequência de paradas. Algo como:

Start -> Stop A -> Stop B -> Stop C -> End

Criei três tabelas:

  • Rotas
  • paradas
  • Pontos de rota

...onde RouteStops é uma tabela de junção.

Eu tenho algo como:

Rotas

+---------+
| routeId |
+---------+
|    1    |
+---------+
|    2    |
+---------+

Estações

+-----------+------+
| stationId | Name |
+-----------+------+
|     1     |   A  |
+-----------+------+
|     2     |   B  |
+-----------+------+
|     3     |   C  |
+-----------+------+
|     4     |   D  |
+-----------+------+

RouteStations

+-------------+---------------+
| routeId(fk) | stationId(fk) |
+-------------+---------------+
|     1       |       A       |
+-------------+---------------+
|     1       |       C       |
+-------------+---------------+
|     1       |       D       |
+-------------+---------------+
|     2       |       A       |
+-------------+---------------+
|     2       |       D       |
+-------------+---------------+

A rota 1 passa por

Station A -> Station C -> Station D

A rota 2 passa por

Station A -> Station D

Esta é uma boa maneira de armazenar rotas?

De acordo com a Wikipédia :

[...] o sistema de banco de dados não garante nenhuma ordem das linhas, a menos que uma ORDER BYcláusula seja especificada [...]

Posso confiar em tal esquema de banco de dados ou talvez isso deva ser feito de maneira diferente?

Este é realmente o meu projeto universitário, então estou apenas imaginando se esse esquema pode ser considerado correto. Para este caso, eu provavelmente armazenaria apenas várias rotas (aproximadamente 3-5) e estações (aproximadamente 10-15), cada rota consistiria em cerca de 5 estações. Também ficaria feliz em saber como isso deve ser no caso de uma empresa de ônibus real e grande.

database-design
  • 4 respostas
  • 8686 Views
Martin Hope
Daniel
Asked: 2016-03-04 01:06:05 +0800 CST

psql: FATAL: Falha na autenticação de peer para o usuário

  • 17

Acabei de instalar o PostgreSQL 9.4 no Ubuntu 15.10.

  1. Criei um usuário comcreateuser -P myuser
  2. Criei um banco de dados comcreatedb -O myuser mydatabase
  3. editei pg_hba.confe adicioneilocal mydatabase myuser md5
  4. Eu reiniciei o PostgreSQL comsudo service postgresql restart

O usuário myuser é apenas um usuário do PostgresSQL e não possui conta de usuário no Ubuntu.

Quando tento me conectar ao banco de dados psql -W mydatabase myuser, ele falha com o psql: FATAL: Peer authentication failed for user "myuser".

PostgreSQL está rodando…

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2016-03-03 09:53:00 CET; 9min ago
  Process: 22219 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 22219 (code=exited, status=0/SUCCESS)

Mar 03 09:53:00 SERVER01 systemd[1]: Starting PostgreSQL RDBMS...
Mar 03 09:53:00 SERVER01 systemd[1]: Started PostgreSQL RDBMS.

... e ouvindo.

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost:postgresql    *:*                     LISTEN
tcp6       0      0 localhost:postgresql    [::]:*                  LISTEN
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     151534   /var/run/postgresql/.s.PGSQL.5432

O que devo fazer para conectar com o usuário myuser ao banco de dados mydatabase ?

postgresql postgresql-9.4
  • 2 respostas
  • 58058 Views
Martin Hope
John
Asked: 2016-01-24 09:10:23 +0800 CST

Implementação de um relacionamento muitos-para-muitos com restrições de participação total em SQL

  • 17

Como devo implementar em SQL o cenário descrito no seguinte diagrama Entidade-Relacionamento?

Relacionamento muitos-para-muitos com restrições de participação total

Como é mostrado, toda Aocorrência do tipo entidade deve estar relacionada a pelo menos uma B contraparte (indicada pelas linhas duplas de conexão), e vice-versa . Sei que devo criar as três tabelas a seguir:

    CREATE TABLE A
    (
        a INT NOT NULL,
        CONSTRAINT A_PK PRIMARY KEY (a)
    );

    CREATE TABLE B
    (
        b INT NOT NULL,
        CONSTRAINT B_PK PRIMARY KEY (b)
    );

    CREATE TABLE R
    (
        a INT NOT NULL,
        b INT NOT NULL,
        CONSTRAINT R_PK      PRIMARY KEY (a, b),
        CONSTRAINT R_to_A_FK FOREIGN KEY (a)
            REFERENCES A (a),
        CONSTRAINT R_to_B_FK FOREIGN KEY (b)
            REFERENCES B (b)
    );

Mas, e quanto à implementação das restrições de participação total (ou seja, impor que cada instância de um Aou Besteja envolvida em no mínimo uma ocorrência de relacionamento com o outro)?

database-design erd
  • 2 respostas
  • 17716 Views
Martin Hope
SethYes
Asked: 2016-01-05 10:42:51 +0800 CST

Alternando valores em uma coluna com uma instrução de atualização

  • 17

Você descobre que um erro em um sistema está nomeando incorretamente homens (M) como mulheres (W) e vice-versa no banco de dados. As colunas permitem apenas um caractere. Sem usar nenhuma tabela temporária, escreva uma consulta de atualização para resolver isso.

Essa pergunta foi feita em uma entrevista recente que tive, e estou entrando em mais entrevistas que podem ter perguntas semelhantes, então queria ter uma ideia de como lidar com isso.

update
  • 6 respostas
  • 41684 Views
Martin Hope
Soroush
Asked: 2015-10-10 01:38:13 +0800 CST

Como despejar todo o banco de dados do servidor remoto no sequel pro

  • 17

Eu tenho uma conexão de banco de dados com um host remoto no SequelPro Mac OSX. Como posso despejar todo o banco de dados. Eu preciso de um dump como o que o mysqldumpcomando faz:

$ mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]

Encontrei a opção de despejo de tabela, mas preciso de despejo de banco de dados completo.

mysql mysqldump
  • 1 respostas
  • 25104 Views
Martin Hope
user1021182
Asked: 2015-10-09 03:40:29 +0800 CST

Reivindicando espaço em disco após remover o campo da tabela

  • 17

Estou executando o sql 2008 r2 e o banco de dados estava funcionando bem e rápido nos últimos 3 anos, até cerca de 3 meses atrás, adicionamos o campo ntext em uma tabela muito ativa e usada. Agora estamos começando a perder espaço no servidor por causa da enorme expansão desta tabela.

Eu li que encolhendo, não queremos perder a indexação do db porque ele estava trabalhando rápido por anos e não queremos que a fragmentação gaste.

Decidimos excluir esse campo e todos os seus valores: Existe uma maneira de excluir o campo ntext e todos os seus valores e liberar espaço sem remover a indexação, sem encolher, sem perder o desempenho do banco de dados?

Estou anexando a saída da consulta de tamanho do banco de dados para mostrar a expansão de tamanho dos últimos 5 meses.

insira a descrição da imagem aqui

sql-server sql-server-2008-r2
  • 4 respostas
  • 10223 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve